|
Программный запуск регламентного задания (8.3)
| ☑ |
0
Cancell
11.05.17
✎
22:30
|
Всем доброго времени суток, кто-нибудь сталкивался с такой задачей или похожей?
Суть следующая, есть внешняя обработка, которая настроена работать по расписанию, но бывают случаи когда ее надо запустить по определенному событию...
Так я могу получить регламентное задание:
ИД = Новый УникальныйИдентификатор("347105c3-7204-4c54-a54f-e58866a797c4");
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИД);
Но как его стартануть?
|
|
1
Cyberhawk
11.05.17
✎
22:35
|
Стартануть может только фоновое задание
|
|
2
Cyberhawk
11.05.17
✎
22:35
|
СП по объекту ФоновыеЗадания тебе в помощь
|
|
3
Cancell
12.05.17
✎
12:17
|
(2)
МенеджерФоновыхЗаданий (BackgroundJobsManager)
Выполнить (Execute)
Синтаксис:
Выполнить(<ИмяМетода>, <Параметры>, <Ключ>, <Наименование>)
Параметры:
<ИмяМетода> (обязательный)
Тип: Строка.
Имя экспортируемой процедуры или функции неглобального общего модуля, который может быть выполнен на сервере, в форме ИмяМодуля.ИмяМетода
Но у меня не экспортируемая процедура и не функция... у меня подключенная внешняя обработка работающая по расписанию. Как до нее достучаться?
|
|
4
mehfk
12.05.17
✎
12:19
|
Перенести код из внешней обработки в общий модуль.
|
|
5
Cancell
12.05.17
✎
12:22
|
(4) там такой код что уже проще обработку встроить, а этого бы не хотелось.
|
|
6
mehfk
12.05.17
✎
12:23
|
Встрой ее в расширение.
|
|
7
mehfk
12.05.17
✎
12:27
|
Ну или узнать как организован запуск внешних обработок по расписанию в этой конфигурации и сделать так же, но стартовав вручную фоновое.
|
|
8
Cancell
12.05.17
✎
13:41
|
(7) Спс.
Есть Регламентное задание "ЗапускДополнительныхОбработок"
Оттуда вытащил код и сделал -
ОбработкаДоп = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("ТестоваяОбработка");
ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуПоРегламентномуЗаданию(ОбработкаДоп,"ВыгрузитьДанные");
Запустил его из внешней обработки, но проблема в том что задание запустилось не в фоне... и сижу жду пока отработает. А мне надо чтобы оно в фоне работало.
|
|
9
Cancell
12.05.17
✎
13:44
|
Мне нужно запуск этой внешней обработки стартовать по определенному событию при http-запросе, и если оно не в фоне будет, то http-сервис будет ждать ответа пока не выполнится обработка, а это может быть долго...
|
|
10
mehfk
12.05.17
✎
16:18
|
Файловая база что-ли?
|
|
11
Cyberhawk
12.05.17
✎
20:21
|
Ты для начала огласи, в каком месте должно порождаться фоновое задание
|
|
12
Cyberhawk
12.05.17
✎
20:21
|
В модуле операции ХТТП-запроса?
|
|
13
Cyberhawk
12.05.17
✎
20:22
|
Ну так добавь туда экспортный метод, помести в него код из (8) и вызывай через ФЗ
|
|
14
Cancell
14.05.17
✎
17:53
|
(13) Супер, спасибо большое, получилось :)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший