![Как выполнять PHP-код в Linux каждые 500 миллисекунд?](https://rvso.com/image/1087116/%D0%9A%D0%B0%D0%BA%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D1%82%D1%8C%20PHP-%D0%BA%D0%BE%D0%B4%20%D0%B2%20Linux%20%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%B5%20500%20%D0%BC%D0%B8%D0%BB%D0%BB%D0%B8%D1%81%D0%B5%D0%BA%D1%83%D0%BD%D0%B4%3F.png)
У меня есть http-сервер на Linux.
У меня есть PHP-код, который сохраняет переменные в кэше с помощьюкэш памятии я хотел бы выполнять этот код каждые 500 миллисекунд, когда бы сервер ни работал, даже после перезапуска сервера.
Я думал о реализации службы, но у меня нет большого опыта работы с Linux, поэтому я не знаю, как это сделать или является ли это вообще правильным подходом.
Я также слышал о заданиях cron, но я вижу, что они выполняются по минутам, а не по секундам.
Как я могу выполнять PHP-код в Linux каждые 500 миллисекунд (код был бы полезен)?
решение1
Для этого можно использовать простой скрипт оболочки:
#!/bin/bash
while true; do
php /path/to/your/script.php & sleep 0.5s;
done
'&' разветвит процесс в фоновом режиме, поэтому синхронизация должна быть как-то точной. Полагаю, через некоторое время она рассинхронизируется с реальными часами, поэтому вам может понадобиться либо добавить временные метки к тому, что делает ваш скрипт, либо использовать подход с демоном, который использует системное время.
(Спасибо за комментарии)
Я рекомендую добавить этот скрипт с помощью systemctl. Этот урок выглядит вполне подходящим для этого: Создание собственных файлов служб systemd
решение2
Поскольку вы знакомы с PHP, вы можете создать PHP-демон/сервис. Я однажды создал PHP-сервис для себя, потому что мне пришлось использовать библиотеку, которая была доступна только в PHP. Он работает без проблем уже много лет.
Вот некоторая информация о PHP-демонах: