Как выполнять PHP-код в Linux каждые 500 миллисекунд?

Как выполнять PHP-код в Linux каждые 500 миллисекунд?

У меня есть 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-демонах:

Связанный контент