Heim > Backend-Entwicklung > PHP-Tutorial > timer定时器 - 用PHP实现linux的crontab(有后台管理功能)应该怎么做?

timer定时器 - 用PHP实现linux的crontab(有后台管理功能)应该怎么做?

WBOY
Freigeben: 2016-06-06 20:06:14
Original
1061 Leute haben es durchsucht

我的思路是,从库里读取记录,然后循环parse crontab格式为datetime格式,判断是否等于当前时间,等于的话,就pcntl_fork个进程,执行命令
疑惑的地方,怎么实现轮训的过程,

<code>while(1){
     $row = "select * from crontab";
     if($row['time']== $current_time){
         pcntl_fork();;//exec($command);
     }
     
    sleep(1);
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

怎么能更准确一些呢,谢谢大家了。
看了一些开源的代码,还有有点迷糊

回复内容:

我的思路是,从库里读取记录,然后循环parse crontab格式为datetime格式,判断是否等于当前时间,等于的话,就pcntl_fork个进程,执行命令
疑惑的地方,怎么实现轮训的过程,

<code>while(1){
     $row = "select * from crontab";
     if($row['time']== $current_time){
         pcntl_fork();;//exec($command);
     }
     
    sleep(1);
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

怎么能更准确一些呢,谢谢大家了。
看了一些开源的代码,还有有点迷糊

1、可以考虑先找看看有没有这方面的轮子。
from github
https://github.com/lavary/crunz

2、要自己写的话,可以考虑 event loop,基于 php 的扩展 libevent

3、判断是否等于当前时间,改成判断是否小于等于当前时间

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage