ЗапланированныеЗадания
Стд::Задания::ЗапланированныеЗадания
Тип-одиночка
Доступность: Сервер
Позволяет создавать запланированные задания и управлять ими. Общее описание запланированных заданий - см. Стд::Задания.
Сравнение ссылочное
Иерархия типа
Базовые типы: Объект, Одиночка
Методы
Возобновить
Доступность: Сервер
Возобновить(Ключ: Строка): ОписаниеЗадания?
Ключ
по расписанию.
Для заданий без расписания не дает никакого эффекта.
Для задания, планирование которого не осуществлялось после вызова метода Приостановить
, вызывается планирование следующего запуска.
Возвращает описание задания или Неопределено
, если такого задания нет.
Примеры
ЗапланированныеЗадания.Возобновить("МоеЗадание")
Изменить
Доступность: Сервер
Изменить(Ключ: Строка): ИзменяемоеЗапланированноеЗадание?
Ключ
.
Ключ задания, обработчик, параметры вызова обработчика и описание задания изменить нельзя.
Примеры
Запуск задания расписанием и изменением расписания.
знч Ключ = "ЗаданиеРассылкиСпама"
пер НовоеЗадание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
НовоеЗадание.Настроить(Расписание = Расписание.Ежемесячно(Время{18:00}, {Месяц.Февраль}, {23}),
Ключ = Ключ,
Описание = "Рассылка праздничного спама")
НовоеЗадание.Запланировать()
знч ИзмЗадание = ЗапланированныеЗадания.Изменить(Ключ)
если ИзмЗадание == Неопределено
выбросить новый ИсключениеВыполнения("Нет задания с ключом %{Ключ}")
;
ИзмЗадание.Настроить(Расписание = Расписание.Ежемесячно(Время{8:00}, {Месяц.Март}, {8}))
ИзмЗадание.Запланировать()
Отменить
Доступность: Сервер
Отменить(Ключ: Строка)
Ключ
, если возможно.
Для заданий с расписанием отменяется только текущее исполнение.
Если задание уже исполняется в момент вызова, то исполнение прерывается.
Метод выполняется синхронно, после его завершения задание отменено.
Исключения
ИсключениеТаймаутаЗадания - в случае долгого прерывания исполнения задания. При возникновении исключения рекомендуется повторить операцию.
Примеры
// Отмена задания с ключом "JobKey1", с повторными попытками в случае долгого прерывания существующего задания
пер Попытка = 0
пока Попытка < 3
попытка
ЗапланированныеЗадания.Отменить("JobKey1")
возврат
поймать Искл: ИсключениеТаймаутаЗадания
знч СобытиеЖурнала =
новый ExecutionEvent(Details = "Таймаут попытки %{Попытка} изменения задания %{Искл.Presentation()}.")
СобытиеЖурнала.Записать()
;
Попытка = Попытка + 1
Пауза(10s)
;
ПолучитьЗадания
Доступность: Сервер
ПолучитьЗадания(): ЧитаемоеСоответствие<Строка, ОписаниеЗадания>
ПолучитьПоКлючу
Доступность: Сервер
ПолучитьПоКлючу(Ключ: Строка): ОписаниеЗадания?
Ключ
.
Если нет задания с таким ключом, возвращается Неопределено
.
ПолучитьПоследнийРезультатПоКлючу
Доступность: Сервер
ПолучитьПоследнийРезультатПоКлючу(Ключ: Строка): РезультатЗадания?
Ключ
.
Если нет результата для задания с указанным ключом, возвращается Неопределено
.