| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Как понять что пакетник (BatchRun) не работает.
			 
			
			Dax4 еще. 
		
		
		
		
		
		
		
	В пакетной обработке запущенной на ночь случается падают задания. Возникают ошибки которые не ловятся в try..catch в runJob. Соответственно останавливается пакетная очередь и к утру ничего что стояло в дальнейшей очереди не выполнено. Кто-то решал такую проблему? Как поймать что пакетная обработка уже остановилась, хотя в выполняемых еще висит задание?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Написать вьюху на sql, которая будет проверять, на какое время назначено выполнение пакета, прибавлять к нему временной лаг пакетного сервера и, в случае превышения этого времени текущим, отправлять с сервера сообщение о возникновении ситуации с задержкой. Создать задачу на сервере с указанием операторов, которым должно приходить оповещение.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от KiselevSA
			 
 
			Написать вьюху на sql, которая будет проверять, на какое время назначено выполнение пакета, прибавлять к нему временной лаг пакетного сервера и, в случае превышения этого времени текущим, отправлять с сервера сообщение о возникновении ситуации с задержкой. Создать задачу на сервере с указанием операторов, которым должно приходить оповещение. 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Пример такого задания, написанного одним из моих коллег, во вложении.
		 
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			У нас написали свой отдельный пакетник, который по определенным критериям каждые 10 минут проверяет остальные пакеты и если какой-то упал в ошибку или не запустился, хотя должен был, то отправляет страшные письма в техподдержку.
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось Logger; 01.07.2015 в 11:13.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну вот и вопрос. А какие это критерии? Если упал в ошибку понятно, если не запустился понятно. А если запустился, нов ошибку не упал Просто из-за ошибки в каком то из пакетов прервалась сама пакетная обработка? И все мирно лежит в выполнении. Хотя ничего на самом деле не исполняется
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Цитата: 
	
Код: -internal=nomodalboxes  
		 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (3). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от gl00mie
			 
 
			Ну как это обработка прервалась, а пакетное задание осталось в выполнении? Клиент и по совместительству пакетный сервер (коль скоро речь о 4.0) висит с модальным MsgBox'ом и сообщением "шеф, всё пропало"? Так запускайте его с параметром  
		
	Код: -internal=nomodalboxes ![]() Была мысль все запускать в runAs - ну типа там своя сессия, сохранять ее в Batch вместо родительской, как сейчас. И вот сессия runas как раз при таких ошибках тоже завершается. ну и потом в параллельной пакетной обработке проверять живость сессии записанной в выполняемом пакете. Но вот интересуюсь, а кто как выпутывались?  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
А кто-нить пользовался этим параметром -internal=nomodalboxes ? Как он работает? У меня как я себе вообразил ничего не вышло. В командной строке запуска добавляю в конце -internal=nomodalboxes. Запускаю аксапу. Запускаю класс в run которого: X++: Box::okCancel("блабла", DialogButton::Ok);И да.. DAX4  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну критерии вы сами определяете. 
		
		
		
		
		
		
		
	У нас все пакеты за которыми следят запущены от одного пользователя. Смотрят за такими пакетами и их статусом и ожидаемым временем старта.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если произошло что-то с самим пакетным сервером, то при организации проверки через пакетные задания из Аксапты, долго будете ждать у моря погоды. Можно, конечно, вклиниться в рассылку оповещений, но у меня нет уверенности в том, что эта рассылка не использует пакетный сервер. Обычно, любой проверочный механизм работоспособности организуется в параллельном сервисе, а не в самом сервисе, т.к., если сервис не работает, он заведомо не может сообщить об этом. А проверка на уровне SQL еще и диагностика того, что AOS не остановили или, для 4, что не забыли пакетник запустить.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Ну каждый извращается как может. Нам такого достаточно для большинства случаев (как правило пакетный сервер был жив, просто с конкретными заданиями проблемы бывают). На крайняк можно виндовый шедулер настроить который будет периодически стартовать клиента аксапты и делать ту же самую проверку, а в случае ошибки тоже письмо слать, но виндовые средствами - что не получилось проверить  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от KiselevSA
			 
 
			Если произошло что-то с самим пакетным сервером, то при организации проверки через пакетные задания из Аксапты, долго будете ждать у моря погоды. Можно, конечно, вклиниться в рассылку оповещений, но у меня нет уверенности в том, что эта рассылка не использует пакетный сервер. Обычно, любой проверочный механизм работоспособности организуется в параллельном сервисе, а не в самом сервисе, т.к., если сервис не работает, он заведомо не может сообщить об этом. А проверка на уровне SQL еще и диагностика того, что AOS не остановили или, для 4, что не забыли пакетник запустить. 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я как раз про четверку и говорю. Для того, чтобы они обрабатывались, надо где-то запустить клиентскую сессию, и оттуда запустить обработчики. Причем для каждой группы заданий обработчик может быть свой. Перегрузили сервер, на котором сессия крутиться. В какой момент администратор Аксапты узнает о том, что про запуск клиентской сессии от имени специального пользователя забыли?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от KiselevSA
			 
 
			Я как раз про четверку и говорю. Для того, чтобы они обрабатывались, надо где-то запустить клиентскую сессию, и оттуда запустить обработчики. Причем для каждой группы заданий обработчик может быть свой. Перегрузили сервер, на котором сессия крутиться. В какой момент администратор Аксапты узнает о том, что про запуск клиентской сессии от имени специального пользователя забыли? 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не пользовался этим ключом, но предположу что он влияет на мессиджбоксы, генерируемые ядром, а не из X++. 
		
		
		
		
		
		
		
	По поводу вопросов из диалогов - в стандартном коде часто замечал проверки - не работает ли код в пакете, если в пакете то диалог не выдается и используется какой-то предполагаемый ответ. может быть вам также сделать ? Кстати аналогичные азплатки можно понатыкать в статические методы класса Box. Их там немного. Около десятка.  | 
| 
	
 | 
| Теги | 
| internal, nomodalboxes, startup command | 
| 
	
	 | 
	
		
  |