Инструмент для создания параллельных алгоритмов с гарантированным выполнением в среде 1С Предприятия
Библиотека TaskManagerFor1C предназначена для создания асинхронных и параллельных алгоритмов с гарантированным выполнением в среде 1С Предприятия на базе фоновых заданий.
Файлы поставки доступны на закладке с релизами.
Для настройки нужно использовать обработку "Управление менеджером заданий".
Доступные настройки:
Запуск подсистемы, остановка и очистка очереди выполняется верхними, говорящими за себя кнопками.
В качестве индикатора работы подсистемы выступает флаг Менеджер запущен
.
При нажатии на кнопку с шестеренкой (рядом с кнопкой Все действия
) открываются настройки методов-обработчиков:
Добавляет новое задание в очередь. На задания в очереди
распространяется ограничение на количество одновременно
работающих исполнителей.
Параметры:
ИмяМетода - точка входа для выполнения задания.
Сигнатура метода должна быть с одним параметром,
например, МетодЗадания(Параметры).
Параметры - структура содержащая необходимые входные
данные, для выполнения задания. При добавлении
расширяется свойством "КлючЗадания", значением
которого будет идентификатор задания в очереди.
Возвращает:
Идентификатор задания.
Запускает асинхронное выполнение задания минуя очередь.
На такие задания ограничение на количество исполнителей НЕ распространяется, НО квота используется
Параметры:
ИмяМетода - точка входа для выполнения задания.
Сигнатура метода должна быть с одним параметром,
например, МетодЗадания(Параметры).
Параметры - структура содержащая необходимые входные
данные, для выполнения задания. При добавлении
расширяется свойством "КлючЗадания", значением
которого будет идентификатор задания в очереди.
Возвращает:
Идентификатор задания.
Позволяет получить текущее состояние задания.
Параметры:
КлючЗадания - идентификатор задания.
Возвращает:
Состояние задания.
Усыпляет текущий поток до установления указанного состояния
у задания либо до истечения указанного времени.
Параметры:
КлючЗадания - идентификатор задания.
ОжидаемоеСостояние - состояние, которого хотим дождаться.
Таймаут - максимальное время ожидания, сек.
Возвращает:
Истина, если состояния дождались иначе Ложь.
Усыпляет текущий поток до изменения состояния у задания
с указанного на любое другое либо до истечения указанного
времени.
Параметры:
КлючЗадания - идентификатор задания.
ТекущееСостояние - состояние с которого хотим уйти.
Таймаут - максимальное время ожидания, сек.
Возвращает:
Истина, если состояния дождались иначе Ложь.
Усыпляет текущий поток до выполнения указанного списка
заданий либо до истечения указанного времени.
Параметры:
КлючиЗаданий - массив с идентификаторами заданий.
ТекущееСостояние - состояние с которого хотим уйти.
Таймаут - максимальное время ожидания, сек.
Возвращает:
Истина, если состояния дождались иначе Ложь.
Отменяет задание, если оно находится в состоянии Ожидает.
Параметры:
КлючЗадания - идентификатор задания.
Отменяет все задания в состоянии Ожидает и НаПаузе.
Очищает информацию по старым выполненным заданиям оставляя
последнее указанное количество дней. Предназначен для "ручного"
управления историей выполнения заданий.
Параметры:
ТребуемаяГлубинаИсторииВДнях - количество дней истории,
которые необходимо оставить.