@khodos_dmitry

Как лучше сделать, чтобы скрипт выполнялся каждую секунду?

Как я понимаю, есть два варианта:
1. Просто запускать скрипт контроллером раз в секунду.
2. Запустить скрипт контроллером один раз, он постоянно выполняется и "спит" одну секунду. Потом другой командой контроллера завершить его выполнение.
Какой вариант лучше? Или посоветуйте свой вариант, пожалуйста. Как обычно это делают?
  • Вопрос задан
  • 396 просмотров
Пригласить эксперта
Ответы на вопрос 3
Если вы пришли к тому, что вам надо запускать скрипт на php раз в секунду, очень высока вероятность того, что вы что-то не так спроектировали.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Такое обычно делают микросервисом (демоном) через бесконечный цикл с заданным интервалом.
Ответ написан
Надежнее и быстрее кроном, т.е. первым способом. Плюс добавить монопольный режим, который будет позволять запускать только один экземпляр.
Во втором варианте есть один недостаток - нужно навесить менеджер процессов, который будет контроллировать жизнь процесса и поднимать его, если он упал. Плюс необходимо быть уверенным, что скрипт не течет по памяти, а этого достичь не всегда удается (особенно, если достался в наследство "хороший" код).
Ответ написан
Ваш ответ на вопрос

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

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