Como executar código PHP no Linux a cada 500 milissegundos?

Como executar código PHP no Linux a cada 500 milissegundos?

Eu tenho um servidor http no Linux.
Eu tenho um código PHP que armazena variáveis ​​no cache usandocache de memóriae eu gostaria de executar esse código a cada 500 milissegundos sempre que o servidor estiver em execução, mesmo após a reinicialização do servidor.
Estava pensando em implementar um serviço mas não tenho muita experiência com Linux então não sei como fazer isso ou se é a abordagem correta.
Também ouvi falar de cron-jobs, mas vejo que eles são executados em minutos e não em segundos.
Como posso executar código PHP no Linux a cada 500 milissegundos (o código seria útil)?

Responder1

Você poderia usar um script de shell simples para isso:

#!/bin/bash
while true; do
    php /path/to/your/script.php & sleep 0.5s;
done

O '&' bifurcará o processo em segundo plano, portanto o tempo deve ser preciso de alguma forma. Acho que depois de algum tempo ele ficará fora de sincronia com um relógio real, então você pode querer adicionar carimbos de data e hora a tudo o que seu script faz ou usar uma abordagem com um daemon que usa a hora do sistema.

(Obrigado pela contribuição nos comentários)

Eu recomendo adicionar esse script com systemctl. Este tutorial parece bom para isso: Criando meus próprios arquivos de serviço systemd

Responder2

Como você está familiarizado com PHP, você pode criar um daemon/serviço PHP. Certa vez, criei um serviço PHP para mim porque tive que usar uma biblioteca que estava disponível apenas em PHP. Ele funciona sem problemas há muitos anos.

Aqui estão algumas informações sobre daemons PHP:

informação relacionada