Библиотека, реализующая механизм фоновых заданий в http-сервисах OneScript.
Установка осуществляется копированием файлов dll в папку Bin веб-приложения.
Затем, необходимо подключить библиотеку, добавив нижеследующую строку в секцию <appSettings>
, файла web.config:
<add key="WebBackgroundJobs" value="attachAssembly" />
Настроить интервал проверки состояния фоновых заданий для метда ОжидатьЗавершения, можно добавив в раздел <appSettings>
, файла web.config нижеследующий ключ:
<add key="jobsCheckInterval" value="5000" />
Интервал задается в миллисекундах. Интервал проверки по умолчанию (если ключ не установлен) составляет 1000 миллисекунд.
Для подключение менеджера фоновых заданий в качестве глобального свойства ФоновыеЗадания, следует добавить нижеследующую строку в раздел <appSettings>
, файла web.config:
<add key="propertiesInjector;WebBackgroundJobs;OneScript.HTTPService.BackgroundJobs" value="" />
Библиотека реализует типы МенеджерФоновыхЗаданийWeb, СостояниеФоновогоЗадания и ФоновоеЗаданиеWeb, которым в платформе 1С:Предприятие соответствуют типы МенеджерФоновыхЗаданий и ФоновоеЗадание соответственно.
Методы:
- Выполнить
- ОжидатьЗавершения
- ПолучитьФоновыеЗадания
Свойства:
- ИмяМетода
- ИнформацияОбОшибке
- Ключ
- Конец
- Наименование
- Начало
- РазделениеДанных
- РегламентноеЗадание
- Состояние
- УникальныйИдентификатор
Методы:
- ОжидатьЗавершения
- Отменить
- ПолучитьСообщенияПользователю
Аналогичен соответствующему типу в 1С:Предприятие.
Библиотека практически полностью совместима с платформой 1С:Предприятие на уровне кода, однако все-же имеются незначительные отличия.
В отличие от 1С:Предприятие, где фоновые задания хранятся в информационной базе и Вы можете получить примерно 1000 последних фоновых заданий, запущенных на выполнение, текущая реализация библиотеки имеет динамический список выполняемых заданий. Задания помещаются в список при вызове метода Выполнить и удаляются после завершения фонового задания. Таким образом, в отличие от 1С:Предприятие, метод возвращает фоновые задания, которые выполнялись на момент вызова метода или были завершены, но еще не удалены из списка.
Всегда возвращает пустую структуру
Ввиду отсутствия регламентных заданий, всегда возвращает Неопределено.
Ввиду особенностей реализации, вызов этого метода не приводит к каким-либо действиям (задание продолжает выполнение и не отменяется).
Всегда возвращает пустой фиксированный массив.
// Создаем объект менеджера фоновых заданий. Только для OneScript
// Если библиотека подключена как глобальное свойство, объект ФоновыеЗадания уже существует
// и нижеследующий фрагмент кода не требуется
//<OneScript>
ФоновыеЗадания = Новый МенеджерФоновыхЗаданийWeb;
//<!OneScript>
// Запускаем фоновые задания на выполнение
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(1);
МассивПараметров.Добавить("1.txt");
ФоновыеЗадания.Execute("Тестовый.ТестовоеФЗ", МассивПараметров, "Ключ1", "Описание1");
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(1);
МассивПараметров.Добавить("2.txt");
ФоновыеЗадания.Execute("Тестовый.ТестовоеФЗ", МассивПараметров);
// Получаем все выполняющиеся задания
МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания();
// Ожидаем завершения выполнения запущеных заданий
ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);
// Продолжаем выполнение