我的思路是,从库里读取记录,然后循环parse crontab格式为datetime格式,判断是否等于当前时间,等于的话,就pcntl_fork个进程,执行命令
疑惑的地方,怎么实现轮训的过程,
while(1){ $row = select * from crontab; if($row['time']== $current_time){ pcntl_fork();;//exec($command); } sleep(1);}
怎么能更准确一些呢,谢谢大家了。
看了一些开源的代码,还有有点迷糊
回复内容: 我的思路是,从库里读取记录,然后循环parse crontab格式为datetime格式,判断是否等于当前时间,等于的话,就pcntl_fork个进程,执行命令
疑惑的地方,怎么实现轮训的过程,
while(1){ $row = select * from crontab; if($row['time']== $current_time){ pcntl_fork();;//exec($command); } sleep(1);}
怎么能更准确一些呢,谢谢大家了。
看了一些开源的代码,还有有点迷糊
1、可以考虑先找看看有没有这方面的轮子。
from github
https://github.com/lavary/crunz
2、要自己写的话,可以考虑 event loop,基于 php 的扩展 libevent
3、判断是否等于当前时间,改成判断是否小于等于当前时间