Перейти к содержанию

Cron задачи

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

Где искать: Модули → Система → Регистры → Cron задачи

Как поставить службу по расписанию

  1. Откройте службу в её модуле и заполните параметры так, будто запускаете вручную.
  2. Нажмите «По расписанию» (вместо «Выполнить»). Откроется окно расписания.
  3. Задайте время полями Минуты, Часов, Дней, Месяцы, День недели — из них сложится Cron маска. Пустое поле означает «любое». Галочка «Повторять» у поля означает «каждые N»: 30 в минутах с галочкой — каждые 30 минут, без галочки — в 30-ю минуту. Маску можно ввести и вручную; кнопка «О кроне» рядом с ней объясняет её запись.
  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» остаются остановленными.

Задача больше не нужна. Удалите запись — расписание снимается вместе с ней.