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

1

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

    
por yuval 31.03.2016 / 17:45

2 respostas

1

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

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

O '& amp;' vai bifurcar o processo em segundo plano, então o tempo deve ser de alguma forma preciso. Eu acho que depois de algum tempo ele ficará fora de sincronia com um relógio real, então você pode querer adicionar timestamps a qualquer coisa que seu script faça ou usar uma abordagem com um daemon que usa a hora do sistema.

(Obrigado pela entrada nos comentários)

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

    
por noreabu 31.03.2016 / 18:38
0

Como você está familiarizado com o PHP, você pode criar um daemon / serviço PHP. Eu fiz um serviço PHP para mim uma vez porque eu tive que usar uma biblioteca que estava disponível apenas no PHP. Funciona sem qualquer problema há muitos anos.

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

por nobody 31.03.2016 / 19:14