Служебная задача (svctask)

Описание

Отложенное задание на однократный или периодический запуск служебного сценария.

Ограничения

  • Коллекция недоступна в мастер-домене.

Поля

Структура сущности
{
  "id": uuid,
  "name": str,
  "isenabled": intbool,
  "svcscriptcode": str,
  "sitemode": str,
  "sites": array<str>,
  "isregular": intbool,
  "overlap": intbool,
  "intervalsec": int,
  "dtstart": date,
  "dtstop": date,
  "schedule": str,
  "periods": array<object>,
  "opts": {
    "title": str,
    "comment": str
  },
  "ext": {
    "ct": date,
    "lwt": date
  }
}
Table 1. Поля
Спецификация Описание

Поле: id
Режим: inout
Тип: uuid
По умолчанию: generated

Идентификатор. Может быть задан при создании, иначе генерируется системой.

Поле: name
Режим: in
Тип: str
По умолчанию: requried

Название

Поле: isenabled
Режим: in
Тип: intbool
По умолчанию: 0

Выключатель задачи

Поле: svcscriptcode
Режим: in
Тип: str
По умолчанию: empty

Код служебного сценария

Поле: sitemode
Режим: in
Тип: str
По умолчанию: "all"

Поле: sites
Режим: in
Тип: array<str>
По умолчанию: empty

Список сайтов, на которых можно запускать задачу.
Параметр для поля sitemode в некоторых режимах

Поле: isregular
Режим: in
Тип: intbool
По умолчанию: 0

Режим выполнения. 0 - однократный запуск, 1 - регулярный запуск.

Поле: overlap
Режим: in
Тип: intbool
По умолчанию: 1

Допускается одновременное выполнение нескольких экземпляров задачи.
Применяется для регулярных задач, время выполнения сценариев которых может превышать период запуска.

Поле: intervalsec
Режим: in
Тип: int
По умолчанию: 0

Интервал запуска задачи по таймеру в секундах.
Применяется для регулярных задач.

Поле: dtstart
Режим: in
Тип: date
По умолчанию: empty

Дата и время начала периода активности регулярной задачи, либо запуска однократно исполняемой задачи.
Формат RFC3339 в UTC.

Поле: dtstop
Режим: in
Тип: date
По умолчанию: empty

Дата и время окончания периода активности регулярной задачи, либо выхода за пределы актуальности однократно исполняемой задачи.
Формат RFC3339 в UTC.

Поле: schedule
Режим: in
Тип: str
По умолчанию: "all"

Расписание работы.
Вне расписания сценарий не запускается.
В случае, если время запуска подошло, но расписание не подходит, запуск откладывается до момента попадания в расписание.

Поле: periods
Режим: in
Тип: array<object>
По умолчанию: empty

Интервал активности в течение недели.
Применяется в режиме schedule = custom.
Каждый элемент списка охватывает определенный отрезок внутри недели: от времени в конкретный день недели до времени в другой конкретный день недели.
На основе совокупности этих отрезков формируется общее расписание.
Элемент списка еженедельного расписания.

Поле: opts
Режим: in
Тип: object
Составное поле

Поле: opts.title
Режим: in
Тип: str
По умолчанию: empty

Произвольный заголовок

Поле: opts.comment
Режим: in
Тип: str
По умолчанию: empty

Произвольный комментарий

Поле: ext
Режим: inout
Тип: object
Составное поле

Позволяет расширять состав произвольными ключами и значениями

Поле: ext.ct
Режим: out
Тип: date
По умолчанию: generated

Время создания объекта

Поле: ext.lwt
Режим: out
Тип: date
По умолчанию: generated

Время последней модификации объекта

Поле: ext.lasterror
Режим: out
Тип: str
По умолчанию: generated

Текст ошибки в случае отказа при очередном запуске

Режим обслуживания на сайтах

Table 2. Режим обслуживания на сайтах
Значение Описание

"all"

Выполнение задачи на всех сайтах, где обслуживается домен

"any"

Выполнение задачи на любом сайте, где обслуживается домен

"selected"

Выполнение задачи на всех сайтах, перечисленных в поле sites если там домен обслуживается

"selectedany"

Выполнение задачи на одном из сайтов, перечисленных в поле sites если там домен обслуживается

"firstsite"

Выполнение задачи на первом сайте, где обслуживается домен

Расписание работы

Table 3. Расписание работы
Значение Описание

"all"

Служебная задача может запускаться всегда

"work"

Служебная задача может запускаться только в рабочее время

"non-work"

Служебная задача может запускаться только в нерабочее время

"custom"

Служебная задача определяет индивидуальное расписание доступности в поле periods

Элемент списка еженедельного расписания

Table 4. Элемент списка еженедельного расписания
Поле Значение Описание

daystart

17

День недели начала отрезка (1 – пн, 7 – вс)

daystop

17

День недели конца отрезка (1 – пн, 7 – вс)

timestart

01440

Время начала отрезка внутри дня в минутах

timestop

01440

Время конца отрезка внутри дня в минутах

См. также

Логические роли

  • svc производит запуск и обслуживание служебных сценариев.