Blog. Just Blog

Запуск задания cron с интервалом меньше 60 секунд

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Формат crontab
Формат 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

Метки: процессы, PHP
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (31.08.2022 в 11:18):
Это графическая шпаргалка по синтаксису файла задания для планировщика cron. На виртуальных хостингах обычно это настраивается через cPanel с красивыми менюшками и подсказками, там особо думать не надо. А когда работаешь в линуксовой консольке, то приходится это все делать ручками. Описание задания есть по ссылке в статье, а полоски - это типа указующих стрелочек, только нарисованные псевдографикой, т.к. в консоли графики нет.
NetZR0ver (31.08.2022 в 09:21):
День добрый. Вы не могли бы рассказать, что именно изображено на первой картинке. Когда-то давно-давно я что-то подобное видел. Файл был сделан... то ли *.bat(ник), то ли файл на clipper. Но что именно это такое и как это делается для меня до сих пор загадка. И как запрос сделать на Яndex/Google не знаю. Что это вообще такое: схематичные указатели-полоски от "звёздочек" до строк?

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0061 сек.) / Память: 4.5 Mb
Наверх