Добрый день.
Есть задача формировать документы по куче подразделений раз в день, утром. Задание выполняется несколькими фоновыми заданиями и чаще всего хорошо. Сам процесс занимает 1,5 часа. Но иногда сервер падает и нужно раз в полчаса перевыполнять регламентное задание и доформировывать оставшиеся документы.
Как внутри регламентного задания понять что оно уже/еще выполняется.
Нижеприведенный код определяет что задание уже выполняется т к по сути вызывается изнутри выполняющегося задания.
Регламентные = РегламентныеЗадания.ПолучитьРегламентныеЗадания();
Для Каждого Регламентное из Регламентные Цикл
ПоследнееЗадание = Регламентное.ПоследнееЗадание;
Сообщить(ПоследнееЗадание.Состояние);
Конеццикла
Если Найти(Фоновое.Ключ, "уник_фвз_") > 0 И Фоновое.Состояние = СостояниеФоновогоЗадания.Активно Тогда
Возврат;
КонецЕсли;
КонецЦикла;
.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший