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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.04.2007, 04:29   #1  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Снять задание сервера пакетной обработки
Подскажите, реально ли "убить" задание выполняемое севером пакетной обработки каким-либо способом, кроме остановки экземпляра сервера?
Стандартный функционал по кнопке "Удалить задание" из формы управления заданиями удаляет задание из списка заданий, не более того. Если пакетный сервер запущен как служба, то тогда придётся рестартовать службу? Это все равно, что снимать задачу через диспетчер задач. Некрасиво, да и могут быть последствия. Знаю, что код для пакетных задач надо правильно писать, но Axapta все таки не умеет корректно завершать себя, как например службы ОС. И даже правильный код может "влипнуть" в блокировку.
Вопрос про AX3.
Старый 14.04.2007, 11:16   #2  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Если код запущен, то он запущен - остановить можно только убив процесс
Старый 16.04.2007, 12:02   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
В качестве идеи (не проверял): а если завершить сессию пользователя, под которым работает пакетный сервер, через Активных пользователей в Аксапте? Правда службу, очевидно, все равно придется перезапускать.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 16.04.2007, 15:30   #4  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Есть еще один вариант, но он ручной: при длительных активных операциях пакетный сервер "захватывает" себе дополнительные сессии в базе данных (сессии отображаются через запятую). Прибейте сессию, которая указана последней в списке активных пользователей. В 99% пакетный сервер завершит операцию и возвратиться в режим ожидания.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.

Последний раз редактировалось KiselevSA; 16.04.2007 в 15:34. Причина: Очепятка
Старый 18.04.2007, 09:44   #5  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Всем спасибо! Последний вариант интересен. Подумаю, как его можно превратить в "автоматизированный" вариант.
Старый 23.04.2007, 23:47   #6  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Чтобы остановить работающее задание сервера пакетной обработки - надо завершить сеанс пользователя через окно "Активные пользователи".
---
А чтобы автоматизировать процессы на пакетном сервере я стартую клиента аксапты в назначенное время по планировщику виндовому, в командной строке в качестве параметра передается имя пакета для выполнения (доработка), по окончании отработки пакета клиент аксапты завершает свою работу(доработка).
О старте и завершении работы пакета - шлется письмо утилитой "BLAT".
Старый 24.04.2007, 04:53   #7  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Убить пользователя = убить сервер пакетной обработки.
Сервер должен крутиться постоянно(а не отрабатывать конкретные пакеты), поэтому придется дописывать некий скрипт, стартующий его заново и проверяющий, чтобы процесс был в единственном экземпляре. Вешать его на запуск в планировщик на ежеминутный(например) старт.
То же попробую, спасибо за наводку. Вариант не такой элегантный, как предложенный KiselevSA, более топорный, но жизнеспособный.
Старый 24.04.2007, 12:28   #8  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Цитата:
Сообщение от fomenka Посмотреть сообщение
Убить пользователя = убить сервер пакетной обработки.
Ну да, по сути верно.
Цитата:
Сообщение от fomenka Посмотреть сообщение
Сервер должен крутиться постоянно(а не отрабатывать конкретные пакеты), поэтому придется дописывать некий скрипт, стартующий его заново и проверяющий, чтобы процесс был в единственном экземпляре.
.
Чтобы добиться возобновления работы "убитого" приложения, запущенного через планировщик задач - попробуйте период запуска в планировщике поставить например 1 минуту.
Если приложение работает, то запуск нового экземпляра в планировщике не произойдет, он "видит" этот сеанс и новый не открывает. А если приложение загасится, то через минуту по планировщику стартанет новое.

У нас например не один экземпляр пакетного сервера используется.
Есть несколько пакетов, периодически\постоянно выполняемых. Планировщик запускает клиента Аксапты, тот стартует, переходит в режим сервера, подцепляет нужный пакет (и так отдельно по каждому пакету).
Все происходит под подлогиненным пользователем на сервере (это из числа "неудобств").
Старый 24.04.2007, 13:21   #9  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Что-то не нашел у стандартного планировщика win2k3 такого функционала.
Может, не туда смотрю? или речь о, например, nnCron?
Старый 24.04.2007, 14:33   #10  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Цитата:
Сообщение от fomenka Посмотреть сообщение
Что-то не нашел у стандартного планировщика win2k3 такого функционала.
Может, не туда смотрю? или речь о, например, nnCron?
Обратите внимание, когда назначенное задание стартовано, то в поле "Состояние" написано - "Работает" (представление папки "Назначенные задания" в виде ТАблицы). Пока приложение запущенное таким образом работает - есть этот статус и новые экземпляры не запускаются.
Если покопаетесь в настройках задания, то можете найти опцию "Остановить задание, если оно еще выполняется" - может и эта функциональность пригодится.

В винде есть много полезной функциональности, но она нам явно не представлена и часто от незнания народ пользует сторонние продукты не изучив имеющиеся.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
RunBaseBatch - режим пакетной обработки bagyr DAX: Программирование 3 13.09.2007 14:50
Разноска журналов ГК в режиме пакетной обработки saturnnn DAX: Функционал 5 28.08.2007 13:25
Распараллеливание процесса пакетной обработки 6apcyk DAX: Программирование 7 04.04.2006 10:05
Список пакетной обработки - где он? Anais DAX: Администрирование 2 01.11.2004 12:27
Нарушения порядка пакетной обработки SLAYPNIR DAX: Функционал 2 20.08.2004 13:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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