1С: Запрет запуска дубля регламентного задания

Иногда бывает что регламентное задание нужно запускать как можно чаще, но вот в чём дело: при запуске есть вероятность что предыдущее задание еще не завершено. В результате они как матрешка будут всё расти и расти…ну и наверное в конце концов будет какой-то коллапс.

Решение: да простое. Просто перед запуском задания, убедимся что предыдущая копия уже отработала. Во первых, нужно у регламентного задания прописать ключ. А во вторых, непосредственно перед запуском объемной части задания, нужно проверять фоновые задания, и если задание с таким ключём в списке активных…то ничего далее не делать:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.