Como faço para executar um script php a cada segundo?

Atualmente, estou escrevendo um jogo online. Agora eu tenho que verificar se um evento acontece (verificando o carimbo de data / hora no database) e, dependendo disso, executar algumas ações. Eu tenho que verificar um evento a cada segundo.

Eu queria usar um cronjob, mas com o cron você pode executar um script apenas a cada minuto.

Minha idéia era usar cron e loop 60 vezes no meu script php. Mas acho que essa não é a melhor solução.

Então, qual a melhor maneira de executar um script a cada segundo?

Por que não modificar o script para que ele apenas repita o código a cada segundo? Isso reduzirá a sobrecarga de análise e será menos complicado.

Você provavelmente deve executar o script uma vez e usar um loop com atraso para realizar o tempo desejado. O benefício secundário é que isso é mais eficiente, e você só precisa abrir resources (ou seja, bancos de dados) uma vez.

Você não deve querer isso: P. Nenhum host aceitará que seu cronjob esteja funcionando a cada segundo a cada minuto? Você pode economizar o tempo que corre em um database e, na próxima vez que você executar, calcular o tempo entre as duas corridas e fazer os cálculos desejados. Cada segundo é uma idéia muito ruim.

Eu procurei uma solução melhor, mas parece que minha primeira idéia, com código limpo, é a melhor solução.

Este é o meu código atual:

 
 $total_time = 0; $start_time = microtime(true); while($total_time < 60) { //DoSomethingHere; echo $total_time."\n"; //sleep(5); $total_time = microtime(true) - $start_time ; } 

Adicione isso no crontab para executar a cada minuto.