Глюк или фича

Обсуждение программ nnCron и nnCron LITE

Глюк или фича

Postby Serg1_cv » Tue, 03 Jan 2012, 13:45

есть задача крона, что она выполняет не важно в ней прописано
Time: */10 8-20 * * Mon-Fri * то есть предполагается что эта задача должна выполняться каждые 10 с 8 до 20 часов по рабочим дням недели, но на практике получается что предидущий запуск 31/12/2011 а следующий 01/02/2012 что не так я делаю или понимаю ??? или это глюк при переходе года
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby Serg1_cv » Tue, 03 Jan 2012, 14:02

я так подозреваю, что не правильно работает слово ASSUMED-NEXT-TIME и ASSUMED-PREV-TIME
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby elos » Tue, 03 Jan 2012, 21:16

Таки к осмотру версию крона, полный код задачи (в тегах кода)из таба и хотелось бы увидеть логи крона(пока они не затерлись) до и после даты перехода. Исходя из упоминания достаточно специфических слов, которые
позволяют получить доступ к информации о предполагаемом времени следующего и предыдущего запусков текущей задачи
смею предположить что своими ручками что-то и было наворочено...
elos
 
Posts: 667
Joined: Tue, 25 Apr 2006, 11:15

Re: Глюк или фича

Postby Serg1_cv » Tue, 03 Jan 2012, 23:54

Вот сама задача:
Code: Select all
#( test_assumed_time1
CREATE t5 256 ALLOT
Time: */10 8-23 * * 1-5 *
Action:
   ASSUMED-NEXT-TIME
   IF
   FT>DD.MM.YYYY/hh:mm:ss t5 PLACE
   S" Время следующего запуска задачи %CUR-TASK-NAME% в %t5 COUNT%" CRON-LOG
   THEN
   ASSUMED-PREV-TIME
   IF
   FT>DD.MM.YYYY/hh:mm:ss t5 PLACE
   S" Время предидущего запуска задачи %CUR-TASK-NAME% в %t5 COUNT%" CRON-LOG
   THEN
)#

а вот фрагмент лога после её выполненния
03-01-2012 22:51:46 16804 Load crontab
03-01-2012 22:51:46 16804 c:\progra~1\nnCron\nncron.tab
03-01-2012 22:51:50 10032 TASK: test_assumed_time1
03-01-2012 22:51:50 10032 Время следующего запуска задачи test_assumed_time1 в 01.02.2012/08:00:00
03-01-2012 22:51:50 10032 Время предидущего запуска задачи test_assumed_time1 в 31.12.2011/23:50:00
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby Serg1_cv » Wed, 04 Jan 2012, 00:02

Экспериментальным путем удалось установить, что после 01.02.2012 слова работают корректно если указать
Time: */10 8-23 * * 0-4 *
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby Serg1_cv » Wed, 04 Jan 2012, 00:12

я так понимаю что слова
ASSUMED-NEXT-TIME
ASSUMED-PREV-TIME
возвращают неверные значения если в спецификации времени (Time) используется спецификатор времени WeekDays
просьба к разработчикам исправить данную ошибку если это возможно
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby VoidVolker » Wed, 04 Jan 2012, 09:44

Да, действительно эти слова некорректно работают с днями недели.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Глюк или фича

Postby Serg1_cv » Wed, 04 Jan 2012, 10:11

Ребята, может подскажете как наваять свое слово- аналог ASSUMED-NEXT-TIME и ASSUMED-PREV-TIME с исправленной ошибкой, в исходниках я нашел эти слова, но из-за недостаточного уровня наний форта не вижу самой ошибки и не знаю что там подправлять, заранее благодарен
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby elos » Wed, 04 Jan 2012, 19:34

Для затравки слегка модифицируем данный нам пример:
Code: Select all
#( test_assumedtime
\ NoLog
\ NoActive
NoLog
NoActive
\ Time: */10 8-23 * * 1-5 *
Time: */2 8-23 * * -1 *
Action:
\ -------------------
ASSUMED-NEXT-TIME
IF
  FT>DD.MM.YYYY/hh:mm:ss CRON-LOG
ELSE
  S" none ASSUMED-NEXT-TIME" CRON-LOG
THEN
\ -------------------
ASSUMED-PREV-TIME
IF
  FT>DD.MM.YYYY/hh:mm:ss CRON-LOG
ELSE
  S" none ASSUMED-PREV-TIME" CRON-LOG
THEN
\ -------------------
)#

и посмотрим на результат при различных цифрах дней недели (зная про диапазон дней недели 1-7)
Code: Select all
19:30:04 4132 04.01.2012/19:32:00   Time: */2 8-23 * * * *
19:30:04 4132 04.01.2012/19:28:00

19:42:52 5532 06.02.2012/08:00:00   Time: */2 8-23 * * 0 *
19:42:52 5532 29.12.2011/23:58:00

19:41:44 2256 07.02.2012/08:00:00   Time: */2 8-23 * * 1 *
19:41:44 2256 30.12.2011/23:58:00

19:39:44 4064 01.02.2012/08:00:00   Time: */2 8-23 * * 2 *
19:39:44 4064 31.12.2011/23:58:00

19:31:09 2512 02.02.2012/08:00:00   Time: */2 8-23 * * 3 *
19:31:09 2512 25.12.2011/23:58:00

19:45:16 2416 03.02.2012/08:00:00   Time: */2 8-23 * * 4 *
19:45:16 2416 26.12.2011/23:58:00

19:46:46 4732 04.02.2012/08:00:00   Time: */2 8-23 * * 5 *
19:46:46 4732 27.12.2011/23:58:00

19:53:51 5424 05.02.2012/08:00:00   Time: */2 8-23 * * 6 *
19:53:51 5424 28.12.2011/23:58:00

19:54:43 4424 none ASSUMED-NEXT-TIME   Time: */2 8-23 * * 7 *
19:54:43 4424 none ASSUMED-PREV-TIME

               Time: */2 8-23 * * 8 *
19:57:32 3156 test_assumedtime: WARNING: C:\nnCron\nncron.tab line:17 pos:21. Invalid time specification. Possible range is [0-7].

19:58:55 2888 06.02.2012/08:00:00   Time: */2 8-23 * * -1 *
19:58:55 2888 29.12.2011/23:58:00

Видим, что при употреблении дней недели реально почему-то проверяется диапазон 0-7, а не 1-7. Оказывается влияние на дату/время. Но если день недели "звёздочка", то всё работает как часы...
Вот от этого и начнём плясать при анализе assumed.f.
elos
 
Posts: 667
Joined: Tue, 25 Apr 2006, 11:15

Re: Глюк или фича

Postby Serg1_cv » Fri, 06 Jan 2012, 08:05

там по моему весь код слов ASSUMED-NEXT-1TIME ASSUMED-PREV-1TIME нужно переписывать, как это даже не представляю, не достаточно опыта в форте
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby Serg1_cv » Wed, 18 Jan 2012, 14:04

кто то сможет помочь в решении даного вопроса ?
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Глюк или фича

Postby AlikasS » Wed, 18 Jan 2012, 15:02

Serg1_cv wrote:есть задача крона, что она выполняет не важно в ней прописано
Time: */10 8-20 * * Mon-Fri * то есть предполагается что эта задача должна выполняться каждые 10 с 8 до 20 часов по рабочим дням недели, но на практике получается что предидущий запуск 31/12/2011 а следующий 01/02/2012 что не так я делаю или понимаю ??? или это глюк при переходе года

сама ведь задача исправно отрабатывает,
согласно назначенному времени.
нужен корректный расчет времени запуска?
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Глюк или фича

Postby Serg1_cv » Thu, 19 Jan 2012, 00:41

совершенно верно
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: VoidVolker, Yahoo [Bot] and 3 guests