Назад: Функциональность
Запуск подсистемы заданий по расписанию выполняется двумя способами:
- в отдельном процессе посредством скрипта
bin/schedule.js
- внутри процесса веб-приложения ION (bin/www) путем указания в ini-файле опции
jobs.enabled=true
Во втором случае управление заданиями возможно реализовать в веб-приложении. Задания по расписанию настраиваются в deploy.json приложений в разделе глобальных настроек как параметр jobs.
"jobs": {
"dummy": {
"launch": { // Периодичность запуска задания
"month": [2,5], // в феврале и мае
"week": 3, // каждую третью неделю (month и week - взаимоисключающие настройки),
"weekday": [1, 3, 5], // по понедельникам, средам и пятницам
"dayOfYear": 5, // раз в 5 дней в течение года,
"day": 10, // раз в 10 дней в течение месяца
"hour": 3, // раз в 3 часа
"minute": [10, 15, 35], // на 10-ой, 15-ой и 35-ой минуте
"sec": 10 // раз в 10 секунд
},
"di": { // скоуп задания
"dummy": {
"module": "applications/develop-and-test/jobs/dummy",
"options": {
}
}
},
"worker": "dummy", // имя компонента из скоупа задания, который будет исполняться
}
}
В качестве запускаемого задания может быть указан компонент, в этом случае он должен иметь метод run
. В качестве запускаемого задания может быть указана и функция. Тогда в di она описывается аналогично компоненту, но с использованием настройки executable
:
"di": {
"dummy": {
"executable": "applications/develop-and-test/jobs/dummy",
"options": {}
}
}
Раздел jobs в глобальных настройках.
...
"jobs": {
"dummy": {
"launch": {
"sec": 30
},
"worker": "dummy",
"di": {
"dummy": {
"executable": "applications/develop-and-test/jobs/dummy"
}
}
}
...
Copyright (c) 2018 LLC "ION DV".
All rights reserved.