СтратегияПовтораЗадания
Стд::Задания::СтратегияПовтораЗадания Доступность: КлиентИСервер
Стратегия повтора для конкретного задания.
Сравнение структурное.
Иерархия типа
Базовые типы: Объект
Методы
Инкремент
Доступность: КлиентИСервер
Статический
Инкремент(
Попытки: Число,
Интервал: Длительность,
Инкремент: Длительность = 0мс
): СтратегияПовтораЗаданияПопытки раз с задержкой, начинающейся с Интервал
и увеличивающейся каждый раз на Инкремент.
Примеры
// При ошибке повторять запуск задания с увеличивающимся на 5 секунд интервалом не более 100 раз.
// Начальное значение интервала 10 секунд.
пер Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание",
ПовторыПриОшибке = СтратегияПовтораЗадания.Инкремент(Попытки = 100, Интервал = 10с, Инкремент = 5с))
Задание.Запланировать()
Интервал
Доступность: КлиентИСервер
Статический
Интервал(
Интервал: Длительность,
Множитель: Число = 1,
МаксимальныйИнтервал: Длительность? = Неопределено
): СтратегияПовтораЗаданияИнтервал(Попытки: Число, Интервал: Длительность, Множитель: Число = 1, МаксимальныйИнтервал: Длительность? = Неопределено): СтратегияПовтораЗадания
Возвращает стратегию повтора, когда задание перезапускается с задержкой в Интервал.
Значение следующего Интервал вычисляется умножением текущего на Множитель.
При значении меньшем 1 уменьшение интервала до значения 1 секунда, и дальше остается равным 1 секунда.
При значении большем 1 увеличение интервала до значения МаксимальныйИнтервал, и дальше остается равным МаксимальныйИнтервал.
Если МаксимальныйИнтервал имеет значение Неопределено, то увеличивается неограниченно.
Примеры
// При ошибке повторять запуск задания с увеличивающимся на 10% интервалом.
// Начальное значение интервала 10 секунд. При достижении интервала в 60 секунд повторять попытки с периодом 60 секунд.
// При успехе повторять запуск задания через 2 секунды.
п ер Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание",
ПовторыПриОшибке = СтратегияПовтораЗадания.Интервал(10с, Множитель = 1.1, МаксимальныйИнтервал = 60с),
ПовторыПриУспехе = СтратегияПовтораЗадания.Интервал(2с))
Задание.Запланировать()
Интервал
Доступность: КлиентИСервер
Статический
Интервал(
Попытки: Число,
Интервал: Длительность,
Множитель: Число = 1,
МаксимальныйИнтервал: Длительность? = Неопределено
): СтратегияПовтораЗаданияИнтервал(Интервал: Длительность, Множитель: Число = 1, МаксимальныйИнтервал: Длительность? = Неопределено): СтратегияПовтораЗадания
Возвращает стратегию повтора, когда задание перезапускается Попытки раз с начальной задержкой Интервал, задержка последующих запусков вычисляется умножением текущего значения на Множитель.
При значении меньшем 1 уменьшение интервала до значения 1 секунда, и даль ше остается равным 1 секунда.
При значении большем 1 увеличение интервала до значения МаксимальныйИнтервал, и дальше остается равным МаксимальныйИнтервал.
Если МаксимальныйИнтервал имеет значение Неопределено, то увеличивается неограниченно.
Примеры
// При ошибке повторять запуск задания не более 10 раз с увеличивающимся на 10% интервалом. Начальное значение интервала 10 секунд.
пер Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание. Настроить(Ключ = "МоеЗадание",
ПовторыПриОшибке = СтратегияПовтораЗадания.Интервал(Попытки = 10, Интервал = 10с, Множитель = 1.1))
Задание.Запланировать()
Отсутствует
Доступность: КлиентИСервер
Статический
Отсутствует(): СтратегияПовтораЗаданияПримеры
// Запуск задания без повторов при ошибке.
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", ПовторыПриОшибке = СтратегияПовтораЗадания.Отсутствует())
Задание.Запланировать()