Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программная остановка фоновых заданий

Программная остановка фоновых заданий
Я
   Антиквар
 
08.09.20 - 13:45
Всем привет!
У меня есть обработка, которая запускает параллельно несколько фоновых заданий.
Ну и в конце обработки ожидание их завершения:
ФоновыеЗадания.ОжидатьЗавершенияВыполнения(МассивЗаданий);
Обработка создает некие объекты.
В целях тестирования возникла необходимость задавать дату/время, по достижении которого нужно прервать выполнение заданий.
Т.е. допустим задания выполняются в среднем двое суток, но для тестирования я хочу указать 1 час.
При этом не все объекты будут созданы, но для тестирования этого хватит.
Нет такой штатной функции, только если залезать на сервер 1С и аварийно завершать фоновые задания?

P.S. Я могу конечно в самих обработках создания объектов анализировать время, передавая в эти обработки заданную дату. Но это уже всё в общих модулях конфигурации, причем в нескольких. Удобнее было бы сделать в своей внешней обработке формирования фоновых заданий.
   ДенисЧ
 
1 - 08.09.20 - 13:48
ФоновоеЗадание (BackgroundJob)
Отменить (Cancel)
Синтаксис:
Отменить()
Описание:
Отменяет задание. Задание может отменить только администратор или пользователь, запустивший задание.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
     Методическая информация
   Вафель
 
2 - 08.09.20 - 13:48
хочешь завершать - не нужно ожидать
   TormozIT
 
3 - 08.09.20 - 14:16
ФоновоеЗадание.Отменить() устанавливает признак бесполезности фонового задания. Его завершение по заявлениям представителей 1С не гарантируется.
http://www.hostedredmine.com/issues/884562
https://partners.v8.1c.ru/forum/topic/1851206
https://partners.v8.1c.ru/forum/topic/1933986
   TormozIT
 
4 - 08.09.20 - 14:16
(3) поправка - Его досрочное завершение по заявлениям представителей 1С не гарантируется.
   Антиквар
 
5 - 08.09.20 - 14:17
(1) а, понял, нужно к конкретному обратиться. И какой-то таймер включать.
Наверное можно таймаут использовать в ожидании завершения, и если он сработал, то в цикле все задания отменить
   Антиквар
 
6 - 08.09.20 - 14:21
(4) хммм...

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