Запуск задания cron с интервалом меньше 60 секунд
Формат crontab
Как известно из документации, минимальный интервал запуска заданий в cron равен 1 минуте. Причина такого ограничения понятна, минутный интервал нужен, чтобы не перегрузить систему параллельными задачами в случае некорректных настроек. А мне понадобилось запускать определенный процесс каждые 20 секунд. Да, можно было бы написать промежуточный скрипт, который запускался бы раз в минуту по планировщику, а потом запускал процессы с нужными интервалами. Но есть более красивое решение средствами самого cron. Для того чтобы какое-либо задание запускалось каждые 20 секунд, в файле crontab нужно сделать 3 записи, что-то типа такого:
####################################################
# Запуск задания каждые 20 секунд
####################################################
* * * * * /usr/local/bin/php -f /path/to/script.php
* * * * * (sleep 20 ; /usr/local/bin/php -f /path/to/script.php)
* * * * * (sleep 40 ; /usr/local/bin/php -f /path/to/script.php)
Теперь каждую минуту будет запускаться пакет из трех заданий, но самое первое стартует незамедлительно, второе запустится через 20 секунд, а третье только через 40 секунд. Таким образом исходная задача будет решена. А, например, для запуска заданий с интервалом в 30 секунд понадобятся только две записи, и пауза перед вторым заданием, соответственно, будет 30 секунд.
Просмотров: 1791 | Комментариев: 2
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(31.08.2022 в 11:18):
Это графическая шпаргалка по синтаксису файла задания для планировщика cron. На виртуальных хостингах обычно это настраивается через cPanel с красивыми менюшками и подсказками, там особо думать не надо. А когда работаешь в линуксовой консольке, то приходится это все делать ручками. Описание задания есть по ссылке в статье, а полоски - это типа указующих стрелочек, только нарисованные псевдографикой, т.к. в консоли графики нет.
NetZR0ver
(31.08.2022 в 09:21):
День добрый. Вы не могли бы рассказать, что именно изображено на первой картинке. Когда-то давно-давно я что-то подобное видел. Файл был сделан... то ли *.bat(ник), то ли файл на clipper. Но что именно это такое и как это делается для меня до сих пор загадка. И как запрос сделать на Яndex/Google не знаю. Что это вообще такое: схематичные указатели-полоски от "звёздочек" до строк?
Добавить комментарий
Заполните форму для добавления комментария