|  27.09.2010, 16:45 | #1 | 
| Боец | AX2009: Пакетная обработка, статус "Завершено" 
			
			Запускаю пакетную обработку на сервере.  1. Пакетные задания периодические. 2. Какое-то время периодичность пакетов повторяется.Статусы пакетных заданий периодически меняются: ожидание->выполнение->ожидание - так и должно быть 3. В какой-то момент, вместо статуса "ожидание" устанавливается статус "Завершено" и пакет (и все пакеты в очереди) теряет св-во периодичности. После чего, ни один пакет нельзя запустить в периодическом режиме пока не рестартанёшь АОС. [4]. Ручная смена статуса на "ожидание" заставляет пакет выполниться один раз, после чего, он снава уходит в "Завершено". Замечено также, что подобное "подвисание" пакетного сервера происходит после множества исключений, которые происходят в пакетах (пакеты кривенькие, часто взлетают). Складывается ощущение, что сервер подсчитывает кол-во "взлетов" заданий, после чего отказывается от периодического выполнения... | 
|  | 
|  21.05.2013, 10:08 | #2 | 
| Участник | 
			
			А что делать если перезагрузка АОСа не помогает? Может кто знает место где сервер считает количество исключений? | 
|  | 
|  21.05.2013, 10:22 | #3 | 
| Боец |  | 
|  | |
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|  21.05.2013, 10:47 | #4 | 
| Участник | 
			
			Пробовали, не помогает. У нас не тот случай. Задание выполняется успешно. Потом пакет остается в статусе "Выполнение", а задача в статусе "Завершено". | 
|  | 
|  21.05.2013, 12:33 | #5 | 
| Боец | 
			
			Я помню что нашу проблему мы нашли в методе  \Classes\BatchRun\serverProcessFinishedJobs. Там используется update_recordset в связке с сommon.RowCount(). Последний возвращает количество записей, которые обновились в update_recordset. По непонятной причине, у нас этот RowCount() в какие-то моменты переставал что-либо возвращать (точнее возвращал 0) и как результат все батчи повисали. Мы переделали все update_recordset в этом методе на while select, а вместо RowCount() внутри циклов инкрементировали свою переменную. После этого о проблеме забыли. Да, ещё переделали insert_recordset на while select\doInsert() в этом же методе. Версия на тот момент - AX2009 RU5 Последний раз редактировалось DSPIC; 21.05.2013 в 12:38. | 
|  | |
| За это сообщение автора поблагодарили: Logger (3), SVlk (1). | |
|  21.05.2013, 13:07 | #6 | 
| Участник | 
			
			Вот у нас само починилось, судя по всему по этой же причине - перекомпилировали этот класс - все прошло. Но спасибо большое - будем копать глубже, на будущее. | 
|  | 
|  24.04.2019, 10:15 | #7 | 
| Участник | |
|  | 
|  14.03.2023, 12:56 | #8 | 
| Участник | |
|  | |
| За это сообщение автора поблагодарили: gl00mie (2). | |