Имя: Пароль:
1C
1С v8
Как правильно запуск регламентного задания из разных мест.
0 simol
 
04.02.14
14:36
Необходимо из разных мест запускать долгую процедуру в фоне.
Необходимо если в одном месте процедуру запустили и она не завершена, то при запуске из другого места (сеанса) она не запускалась в паралель вторым экземпляром.

Сделал так:


РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания._РегламентныеРаботыСБазойСуточные);
Попытка
    ФоновыеЗадания.Выполнить("_ОбработчикиСобытий.РегламентныеРаботыСБазой", , РегламентноеЗадание.УникальныйИдентификатор);
Исключение
КонецПопытки;

Насколько так корректно?
1 simol
 
04.02.14
14:43
Смущает, что РегламентноеЗадание я использую только для формирования уникального идентификатора, а в ФоновыеЗадания.Выполнить указываю процедуру явно и могу иную от регламентного задания.
То есть ощущение, что сделано хоть и рабоче, но как-то неправильно.
2 simol
 
04.02.14
14:46
Вроде как можно вообще сделать:


    Попытка
        ФоновыеЗадания.Выполнить("_ОбработчикиСобытий.РегламентныеРаботыСБазой", , "РегламентныеРаботыСБазойСуточные");
    Исключение
    КонецПопытки;


И не создавать регламентное задание.