Перейти до змісту

Cron завдання

Служби, які система запускає сама за розкладом: перерахунок прайс-листа щоночі, завантаження курсів валют щоранку, розсилка звітів щопонеділка. Кожен запис — одна служба з її параметрами й розкладом, а в ньому журнал усіх запусків.

Де шукати: Модулі → Система → Регістри → Cron завдання

Як поставити службу за розкладом

  1. Відкрийте службу в її модулі й заповніть параметри так, ніби запускаєте вручну.
  2. Натисніть «За розкладом» (замість «Виконати»). Відкриється вікно розкладу.
  3. Задайте час полями Хвилини, Годин, Днів, Місяці, День тижня — з них складеться Cron маска. Порожнє поле означає «будь-яке». Галочка «Повторювати» біля поля означає «кожні N»: 30 у хвилинах із галочкою — кожні 30 хвилин, без галочки — о 30-й хвилині. Маску можна ввести й руками; кнопка «Про cron» біля неї пояснює її запис.
  4. Додайте Опис і натисніть «Виконати» — «Операцію заплановано успішно!». У реєстрі з'явиться нова задача.

Cron_img

Параметри служби запам'ятовуються такими, якими були в момент планування. Задача виконується в тій компанії, де її поставили.

Картка задачі

  • Код, Опис, Маска — назва задачі й розклад. Маску можна змінити в картці: після збереження активна задача піде за новим розкладом.
  • Ключ — яка служба запускається; Тип, Компанія — службові.
  • Статус — «ACTIVE» (виконується за розкладом) або «PAUSED» (зупинена). Кнопки «Зупинити» і «Старт» перемикають його.
  • Параметри — параметри служби, з якими її запускають.
  • Виконання — журнал запусків: дата й час початку, тривалість у мілісекундах, Результат («SUCCESS», «WARNING» — дійшла до кінця, але частину записів не обробила, «FAILED» — збій) і текст помилки. Журнал тримає останні 1000 запусків; меню картки → «Видалити логи» очищає його.

Типові ситуації

Задача не запускається. Подивіться статус: «PAUSED» — натисніть «Старт». Потім перевірте маску: час рахується за годинником сервера.

У журналі «FAILED». У колонці «Помилка» — причина, яку дала служба. Запустіть службу вручну з тими самими параметрами: вона покаже ту саму відмову у звичному вікні. Параметри задачі змінюють, поставивши службу за розкладом заново.

«Ця задача вже виконується». Поки служба працює за розкладом, ручний запуск тієї самої служби в тій самій компанії відмовить — дві копії одночасно не йдуть. Наступний запуск за розкладом теж пропускається, якщо попередній ще не закінчився.

«Перевищено межу часу 30 хв; задача може ще працювати у фоні». Запуск за розкладом тривав довше за межу. Типово вона 30 хвилин, і адміністратор сервера може її змінити чи вимкнути. Зміни служби, зроблені в межах її транзакції, скасовано, а записи поза нею могли пройти частково — перевірте результат служби. Задача може ще працювати у фоні; поки вона не закінчиться, наступні запуски за розкладом пропускаються, а ручний запуск відповідає «Ця задача вже виконується». Ручний запуск служби з вікна межі часу не має.

«Маска розкладу некоректна» / «Cron маска невірна». Маска має п'ять частин через пробіл: хвилини, години, день місяця, місяць, день тижня. Наприклад, «0 6 * * *» — щодня о 06:00, «0 9 * * 1» — щопонеділка о 09:00.

Після перезапуску сервера. Задачі зі статусом «ACTIVE» відновлюються самі; «PAUSED» лишаються зупиненими.

Задача більше не потрібна. Видаліть запис — розклад знімається разом із ним.