Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрет одновременного выполнения рег.задания

Запрет одновременного выполнения рег.задания
Я
   ildary
 
22.08.18 - 06:33
Уважаемые специалисты, подскажите пожалуйста, как правильно сделать так, чтобы рег.задание не могло повторно запуститься, если оно еще не отработало? Я прочитал про параметр Ключ, но не совсем уверен, что он будет работать для одного и того задания (в документации сказано что это для объединения нескольких в группу). 1С 8.3.10 последняя, УФ, самописка, сервер приложений находится в облаке (не фреш), подобное (одновременное выполнение рег.задания) случается редко (фактически впервые). ТЖ будет настроен, но боюсь, что он даст причину, но не даст способ решения его (например внезапный рестарт процесса rphost). Поможет ли Ключ или самый правильный способ - это внутри самого рег.задания ввести собственный флаг при запуске и контролировать его? Задание связано с импортом данных в 1С и при одновременном запуске - задваиваются загруженные документы.
 
 
   Cool_Profi
 
1 - 22.08.18 - 06:36
Я за флаг
   МимохожийОднако
 
2 - 22.08.18 - 07:05
Попробуй код
Процедура ВыполнитьЗадание()
    ПараметрыЗадания=Новый Структура;
    ПараметрыЗадания.Вставить("Состояние",СостояниеФоновогоЗадания.Активно);
    ПараметрыЗадания.Вставить("Ключ",Ключ);
    
    Если фоновоеЗаданиеУжеЗапущено(ПараметрыЗадания) Тогда
        Возврат;
    КонецЕсли; 
    //далее задание    

    //...........

КонецПроцедуры

Функция ФоновоеЗаданиеУжеЗапущено(ПараметрыЗадания)
    МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыЗадания);
    Если МассивЗаданий.Количество() > 1 Тогда
        Возврат Истина;
    КонецЕсли;
    Возврат Ложь;
КонецФункции// ЗаданиеУжеЗапущено()
   ildary
 
3 - 22.08.18 - 07:34
(1)+(2) большое спасибо за ответ! Сделаем именно так.
   МимохожийОднако
 
4 - 22.08.18 - 07:41
(3) Сообщи результат. Может быть, и мне пригодится ))
   dmpl
 
5 - 22.08.18 - 08:40
(0) 1С в типовом решении использует константу, которую устанавливает на входе и снимает на выходе из задания.
   dmpl
 
6 - 22.08.18 - 08:42
(2) А если в этот же момент времени на другом компьютере выполняется этот же код?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует