Классический конфиг — файл с записями cron jobs в операционной системе Linux, выглядит следующим образом:
# ┌───────────── минуты (0 - 59)
# │ ┌───────────── часы (0 - 23)
# │ │ ┌───────────── день (1 - 31)
# │ │ │ ┌───────────── месяц (1 - 12)
# │ │ │ │ ┌───────────── день недели (0 - 6)
# │ │ │ │ │
# * * * * * <задача или команда>
Первые пять параметров означают время выполнения этой задачи, а шестой — сама команда, которую необходимо запустить. Параметры времени — это: минуты, часы, дни, месяцы и день недели. Причем все числа должны быть представлены в виде целых чисел либо
в виде специального синтаксиса.
В итоге, минимально возможный интервал запуска команды — это один раз в минуту.
Для многих задач выполнение команды нужно намного чаще, например раз в 10 секунд. Для некоторых задач по автоматизации бизнес процессов максимально допустимая задержка часто составляет не более чем 1-1.5 секунды.
Разумеется, классический cron для этого не подходит — его нужно усовершенствовать.
Ниже представлена пошаговая реализация по созданию дополнительного функционала (на языке PHP) к классическому cron на Linux с применением дополнительной защиты от повторного запуска процессов.