|
Программная остановка фоновых заданий
| ☑ |
0
Антиквар
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
|
хочешь завершать - не нужно ожидать
|
|
3
TormozIT
гуру
08.09.20
✎
14:16
|
ФоновоеЗадание.Отменить() устанавливает признак бесполезности фонового задания. Его завершение по заявлениям представителей 1С не гарантируется.
|
|
4
TormozIT
гуру
08.09.20
✎
14:16
|
(3) поправка - Его досрочное завершение по заявлениям представителей 1С не гарантируется.
|
|
5
Антиквар
08.09.20
✎
14:17
|
(1) а, понял, нужно к конкретному обратиться. И какой-то таймер включать.
Наверное можно таймаут использовать в ожидании завершения, и если он сработал, то в цикле все задания отменить
|
|
6
Антиквар
08.09.20
✎
14:21
|
(4) хммм...
|
|