Как настроить обновление страницы сайта каждые 5 секунд через crontab?

Приветствую.
На сайте есть страничка, которую надо обновлять каждые пять секунд. Сайт размещён на хостинге beget, но там я могу задать только минимальный промежуток в одну минуту. Меньше я не знаю как. Помогите пожалуйста добрым советом.

Вот так выглядит панель управления crontab'ом.
o5DkKoPD9QW_QG2_Q5XCCx7AnVcg_qFMctI3PxAWNCKF-q0aPQSHZ65ch7jCmhkwU9xFLxLP8nmtkYgy

Подскажите пожалуйста, как неопытному человеку в этом деле, что конкретно можно написать, чтобы эта страница загружалась cron'ом каждые пять секунд. Я смогу только записать команду в панели управления хостингом.

Может быть есть какие то альтернативы?
  • Вопрос задан
  • 6353 просмотра
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Cron Вам не поможет, у него минута - минимальный интервал.
Если только создадите 12 ежеминутных заданий, каждое (кроме первого) с задержкой через sleep
wget ...
sleep 5 && wget ...
sleep 10 && wget ...
Ответ написан
merryjane
@merryjane
Системный администратор
Можно обернуть это все в цикл без крона и запустить:
while true; do wget -O /dev/null -q mysite/cron/file.php ; sleep 5; done

но если у Вас этот скрипт не отработает за 5 сек (например страничка будет недоступна), то очередь будет копиться.
То же самое будет и если он будет дергаться из cron-а.
Можно создать большую нагрузку создавшейся очередью.
Поэтому надо делать lock-file, то-есть перед вызовом проверяем что его нет (скрипт прошлый интервал времени отработал успешно), если нет, то создаем и выполняем наше действием, когда закончили действие, удаляем его. В этом случае, если какая-то из итераций зависнет, то благодаря lock-file следующая не запустится, пока предыдущая не завершится.
Ответ написан
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Отредактировать файл crontab или вручную где путь к файлу
Вот на 15 сек но можно и на 5 сек сделать продублирова команды и sleep на интервал 1 минуту.

*/1 * * * * root /home/mybin/script.sh; /bin/sleep 15; /home/mybin/script.sh; /bin/sleep 15; /home/mybin/script.sh; /bin/sleep 15; /home/mybin/script.sh


Первый запуск будет 1 минута все остальные последующие 15 сек, потом опять по кругу..

PS не используйте wget используйте команду для этого - php путь к скрипту.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы