РасписаниеЗапуска
Стд::Задания::РасписаниеЗапуска Базовые типы: Объект Дочерние типы: РасписаниеЕжедневногоЗапуска, РасписаниеЕжемесячногоЗапуска, РасписаниеЕженедельногоЗапуска, РасписаниеОднократногоЗапуска, РасписаниеПостоянныхЗапусков |
Доступность: Сервер |
Иерархия типа
Базовый тип расписаний запуска.
Сравнение структурное.
Свойства
ВремяКонца
Доступность: Сервер |
Если задано значение типа Момент, то момент, после наступления которого задание прекратит запускаться. Если Неопределено
, то запускать бесконечно.
Если задано значение типа Время, то время, после наступления которого задание прекратит запускаться. Для заданий с определенным временем запуска правило: если время [.ЗапуститьВ] меньше времени ВремяКонца, то прекращаются запуски после указанного времени ВремяКонца; иначе время ВремяКонца берется в следующие сутки. Пример:
- ЗапуститьВ: 9:00, EndTime: 12:00 - запускать с 9 до 12
- ЗапуститьВ: 12:00, EndTime: 9:00 - запускать с 12 до 9 следующего дня
ВремяНачала
ТолькоЧтение ВремяНачала: Момент? |
Доступность: Сервер |
Момент, после наступления которого задание начнет запускаться. Если Неопределено
, то начинать запуск немедленно.
ИсполнятьПропущенное
ТолькоЧтение ИсполнятьПропущенное: Булево |
Доступность: Сервер |
Признак того, что задание нужно запустить после старта приложения, если в назначенный по расписанию момент приложение было остановлено.
Методы
Ежедневно
Доступность: Сервер |
Возвращает расписание запусков с указанным периодом дней ПериодПовтораДней
в указанное время ЗапуститьВ
. Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
Запуск задания через день в 8 утра.
знч ЧерезДень = РасписаниеЗапуска.Ежедневно(
Время{8:00},
ПериодПовтораДней = 2)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ЧерезДень)
Задание.Запланировать()
Ежемесячно
Доступность: Сервер |
Перегрузка: Ежемесячно(ЗапуститьВ: Время, Месяцы: Обходимое<Месяц>, НеделиМесяца: Обходимое<НеделяМесяца>, ДниНедели: Обходимое<ДеньНедели>, ИсполнятьПропущенное: Булево = Ложь, ВремяНачала: Момент? = Неопределено, ВремяКонца: Момент|Время|? = Неопределено): РасписаниеЕжемесячногоЗапуска |
Возвращает расписание запусков в указанное время ЗапуститьВ
указанных дней ДниВМесяце
указанных месяцев Месяцы
. ДниВМесяце
- В какие дни месяца запускать задание. Числа в диапазоне -28..-1 и 1..31. Положительные числа - дни месяца (1 - первый день, 2 - второй день и т.д.). Отрицательные числа дни с конца предыдущего месяца (-1 - последний день предыдущего месяца, -2 предпоследний день и т.д.). Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
// Расписание запуска в 8 утра в первый и последний день каждого месяца.
знч ПервыйПоследний = РасписаниеЗапуска.Ежемесячно(
Время{8:00},
Месяцы = новый Множество(Месяц.Элементы()),
ДниВМесяце = {-1, 1})
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ПервыйПоследний)
Задание.Запланировать()
Ежемесячно
*Статический* Ежемесячно(
ЗапуститьВ: Время,
Месяцы: Обходимое<Месяц>,
НеделиМесяца: Обходимое<НеделяМесяца>,
ДниНедели: Обходимое<ДеньНедели>,
ИсполнятьПропущенное: Булево = Ложь,
ВремяНачала: Момент? = Неопределено,
ВремяКонца: Момент|Время|? = Неопределено
): РасписаниеЕжемесячногоЗапуска
Доступность: Сервер |
Перегрузка: Ежемесячно(ЗапуститьВ: Время, Месяцы: Обходимое<Месяц>, ДниВМесяце: Обходимое<Число>, ИсполнятьПропущенное: Булево = Ложь, ВремяНачала: Момент? = Неопределено, ВремяКонца: Момент|Время|? = Неопределено): РасписаниеЕжемесячногоЗапуска |
Возвращает расписание запусков в указанное время ЗапуститьВ
указанных дней недели ДниНедели
указанных недель НеделиМесяца
указанных месяцев Месяцы
. Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
// Расписание запуска в 8 утра в первый и третий понедельник каждого месяца.
знч НечетныеПонедельники = РасписаниеЗапуска.Ежемесячно(
Время{8:00},
Месяцы = новый Множество(Месяц.Элементы()),
НеделиМесяца = {НеделяМесяца.Первая, НеделяМесяца.Третья},
ДниНедели = {ДеньНедели.Понедельник})
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = НечетныеПонедельники)
Задание.Запланировать()
Еженедельно
*Статический* Еженедельно(
ЗапуститьВ: Время,
ДниНедели: Обходимое<ДеньНедели>,
ПериодНедель: Число = 1,
ДниВМесяце: Обходимое<Число>? = Неопределено,
ИсполнятьПропущенное: Булево = Ложь,
ВремяНачала: Момент? = Неопределено,
ВремяКонца: Момент|Время|? = Неопределено
): РасписаниеЕженедельногоЗапуска
Доступность: Сервер |
Создает расписание запусков в указанное время ЗапуститьВ
указанных дней недели ДниНедели
. ПериодНедель
- раз в какое число недель запускать задание. Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
// Расписание запуска через неделю по вторникам и четвергам в 8 утра.
знч ВтЧт = РасписаниеЗапуска.Еженедельно(
Время{8:00},
ДниНедели = {ДеньНедели.Вторник, ДеньНедели.Четверг},
ПериодНедель = 2)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ВтЧт)
Задание.Запланировать()
Однократно
Доступность: Сервер |
Возвращает расписание однократного запуска в указанный момент времени ЗапуститьВ
. Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
Запуск задания один раз в 8 утра 18 июня 2021 или сразу после запуска, если в этот момент система не работала.
знч Июнь18 = РасписаниеЗапуска.Однократно(Момент{2021-06-18 8:00 Z}, ИсполнятьПропущенное = Истина)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = Июнь18)
Задание.Запланировать()
Постоянно
*Статический* Постоянно(
Период: Длительность,
ИсполнятьПропущенное: Булево = Ложь,
ВремяНачала: Момент? = Неопределено,
ВремяКонца: Момент|Время|? = Неопределено
): РасписаниеПостоянныхЗапусков
Доступность: Сервер |
Возвращает расписание постоянных запусков с указанным периодом Период
. Задание будет запущено спустя указанный период времени после завершения предыдущего запуска. Значение должно быть положительным и не менее 1 секунды.
Примеры
// Расписание запуска через 3 секунды после окончания предыдущего запуска.
знч ЧастыйПовтор = РасписаниеЗапуска.Постоянно(3с)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ЧастыйПовтор)
Задание.Запланировать()