AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2009, 18:58   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
408 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Повторения пакетных заданий и уход времени начала
Axapta 4.0
В общем, озаботился неприятной особенностью пакетных заданий, повторяющихся ежедневно или ежемесячно.
Дело в том, что если задание по каким-то причинам не начало обрабатываться в заданное время начала, то потом, после выполнения, время начала сместится на фактически получившееся в предыдущей итерации.
Это приводит к постепенному "сползанию" времени начала задания, что не всегда хорошо.
Чтобы это вылечить, достаточно в классе SysRecurrence отредактировать окончания двух методов: doUnitDate и doUnitWeek перед вызовом this.finish следующим образом:
X++:
    currentTime = startTime; //стало
    //currentTime = oldTime; было

    return this.finish(currentDate, currentTime);
}
Что самое интересное, когда я нашел причину и полез в методы doUnitYear и doUnitMonth, я обнаружил, что там-то уже и без меня всё хорошо, стоит startTime.
Было бы любопытно узнать, чем руководствовались разработчики, когда писали это...
Чтобы при нескольких параллельно обрабатывающих одну и ту же пакетную группу пакетных серверах взаимные блокировки не происходили, если задания что-то блокируют? Или чтобы дать пакетному серверу "передохнуть" между заданиями?
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
За это сообщение автора поблагодарили: Zabr (3).
Старый 10.08.2009, 15:59   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Maximin
...
когда я нашел причину и полез в методы doUnitYear и doUnitMonth, я обнаружил, что там-то уже и без меня всё хорошо, стоит startTime.
...
Не понял.
Цитата:
Сообщение от Maximin
...
Было бы любопытно узнать, чем руководствовались разработчики, когда писали это...
...
Есть теория циклов в эволюции. Типа все возвращается на круги своя.

Была раньше проблема. Суть была в том, что если пакетное задание выполняется раз в минуту, и сервер пару суток не работал, то после запуска сервера он "наверстывал" все упущенное. Т.е., например, быстренько строчил один и тот же отчет 24 * 60 * количество дней простоя. Было неприятно.

Вроде решили, что стоит избавиться от этой проблемы. Вроде, избавлялись.

Думаю, что причина в этом.

Меня сейчас тоже проблема смещения времени старта беспокоит. Сижу думаю.
__________________
С уважением,
glibs®
Старый 10.08.2009, 16:14   #3  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Может разработчики хотели, чтобы следующий запуск произошел гарантированно не раньше чем через n * 24 часа для периодичности "n дней". Что-то типа того. Насколько правильно это — вопрос философский.
__________________
С уважением,
glibs®
Старый 11.08.2009, 11:41   #4  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,200 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Maximin: 1 - спасибо, 2 - только метод называется не doUnitDate, а doUnitDaу.
Теги
batch, пакетная обработка, пакетное задание

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Дата начала амортизации Pismarkina DAX: Функционал 8 24.05.2017 14:39
Перепланирование производственных заданий по факту spy DAX: Функционал 11 12.08.2009 10:13
Ошибка времени выполнения Фаткуллов Ренат DAX: Функционал 8 10.04.2009 10:56
Ошибка времени выполнения Didukh84 DAX: Программирование 19 06.03.2008 09:11
Учет рабочего времени Orion DAX: Функционал 1 18.07.2005 16:52
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.