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