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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.10.2009, 16:34   #1  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Как сделать: пакетное задание в AX 2009 чаще 3 минут
В AX 2009 записи пакетного задания находятся в статусе исполнения в среднем часто больше 1-2 минут, хотя само задание исполняется за считанные секунды (формирование короткого файла).

Нужно 1,5 min <= t <= 2 min.
Получается только 1,5 min <= t <= 3 min. при итерации каждую минуту.

Такт обновления заданий, похоже, задается ядром: соответствующие процедуры хотя и написаны на X++, но не вызываются согласно перекрестным ссылкам из приложения.

Что делать?
Старый 23.10.2009, 17:07   #2  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
Административно никак. По крайней мере в четверке там жестко в коде период 3 минуты.
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005
Старый 23.10.2009, 17:47   #3  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Хотя у нас АХ 4.0, но возможно вам пригодится.
1) сделана простая модификация: возможность такой настройки пакетного задания, чтобы после завершения исполнения сразу происходил логофф из Аксапты
2) задания запускаются по расписанию из внешнего шедулера. После каждого пакета делается автоматический логофф, и запускается следующая сессия Аксапты со следующим пакетным заданием, которое потом также делает логофф, и так далее.
Думаю, такой подход позволит запускать задания с любой периодичностью.

PS Вопрос "зачем так сделали" не относится к заданной теме, поэтому без комментариев.
Старый 23.10.2009, 17:49   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
А не проще сделать 2 задания, вместо одного?
Старый 23.10.2009, 18:38   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от raz Посмотреть сообщение
А не проще сделать 2 задания, вместо одного?
Времена исполнения будут смещаться друг отностительно друга. Рано или поздно порог будет превышен.

Совет Zabr-а - хороший. Он сводится к том, чтобы тем или иным способом самостоятельно контролировать процесс выполнения. Посмотрим, что скажет Microsoft. На худой конец можно даже запускать мое задание синхронно, в транзакции.
Старый 23.10.2009, 19:32   #6  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
А если подкрутить #define.LoopCount(30) в BatchRun.do()?
Старый 23.10.2009, 19:57   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Я пробовал изменить на форме. Эффект - нулевой. Переход из статуса "Running" в "Waiting" выполняется в другой процедуре (serverGetNextTask/serverProcessFinishedJobs), которая вызывается, во-видимому, ядром.
Старый 30.10.2009, 15:31   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от EVGL Посмотреть сообщение
Я пробовал изменить на форме. Эффект - нулевой. Переход из статуса "Running" в "Waiting" выполняется в другой процедуре (serverGetNextTask/serverProcessFinishedJobs), которая вызывается, во-видимому, ядром.
А в МС писал? Чё говорят?
Старый 30.10.2009, 17:09   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
...
I will take a look deeply on your request, do a initial research and I will return to you.
...
Старый 30.10.2009, 21:24   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Может быть написать свое пакетное задание, которое будет стартовать каждые 3 минуты (или реже), но само в свою очередь будет стартовать другой пакетник с нужной частотой.

Изврат конечно, но зато даст нужный результат и реализовать наверно будет несложно.

А проще всего конечно сделать как Zabr предложил.
Старый 02.11.2009, 10:37   #11  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Провел опыт.
Сделал классик, который только создает 1 запись в таблице и завершается.
Запустил 5 раз в пакетном режиме с повторением через 1 мин по 10 циклов.
Исходные интервалы между пакетами изначально были по несколько секунд.
После первого цикла задания "сгруппировались" 3 задания стартовали в одно время и 2 через 1мин1сек.
И такт между пакетными заданиями был 2мин2сек.

Локальный вывод.
У меня получился минимальный такт обновления статуса задания 1мин1сек. Возникает ощущение, что пакетному серверу надо 2 "такта" на то чтобы перевести задание на повторное исполнение.
То есть если сделать задание длительностью 9мин, 10 сек, а периодичность поставить 10мин, то все-равно будет выполняться через 11мин
Вложения
Тип файла: zip SharedProject_xTimeStamp.zip (1.7 Кб, 96 просмотров)

Последний раз редактировалось Wamr; 02.11.2009 в 11:09. Причина: проектик добавил
Старый 02.11.2009, 11:01   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Wamr Посмотреть сообщение
Провел опыт.
Сделал классик, который только создает 1 запись в таблице и завершается.
Запустил 5 раз в пакетном режиме с повторением через 1 мин по 10 циклов.
Исходные интервалы между пакетами изначально были по несколько секунд.
После первого цикла задания "сгруппировались" 3 задания стартовали в одно время и 2 через 1мин1сек.
И такт между пакетными заданиями был 2мин2сек.
А можешь выложить сюда проект, я тоже поиграюсь?
Думал сам делать сегодня, но раз уже есть готовый

Спасибо
Старый 03.11.2009, 18:09   #13  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Увы, вот что заявляет MS:

Цитата:
I am afraid that this is a design limitation - lowest resolution is 1min and it seems that state are changed only in time of "batch cycle" - that is a reason why cycle is longer.
Старый 03.11.2009, 23:40   #14  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от EVGL Посмотреть сообщение
Увы, вот что заявляет MS:
А казалось бы - забить на априорно неизвестное никому(даже великому и ужасному M$) время исполнения некоего пакета с априорно неизвестным функциональным наполнением и проверять при попытке запуска пакета факт наличия неоконченного выполнения этого же самого пакета и запускать без проблем его в случае отсутствия наличия, либо, в случае таки наличия неоконченного, сдвигать выполнение текущей попытки на некий малый квант времени(определяемый некоей настройкой в БД) и по прошествию оного повторять попытку запуска. Но увы , дело Ленина живет и побеждает, M$ идет своим путем, не давать и не пущать - наше ффсё...
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 15.04.2011, 10:43   #15  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
emeadaxsupport: Running AX2009 batches with a recurrence of 1 minute
__________________
-ТСЯ или -ТЬСЯ ?
Теги
ax2009, пакетная обработка, пакетное задание, частота

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Sizing Tips on AX 2009 Blog bot DAX Blogs 0 30.09.2009 01:05
chrisfie: Microsoft Dynamics AX 2009 and Microsoft Project Server 2007 Demo Image Blog bot DAX Blogs 2 03.07.2009 20:05
DynamicsAxSCM: Changes in Sales and Transfer Order Picking from Microsoft Dynamics AX 4.0 to Dynamics AX 2009 Blog bot DAX Blogs 0 18.05.2009 02:05
AX UK: June refresh of the AX 2009 Pre-sales Demo Toolkit Blog bot DAX Blogs 0 28.04.2009 06:11
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:00.