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

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

WBOY
Release: 2016-06-06 20:06:14
Original
1055 people have browsed it

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

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

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

回复内容:

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

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

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

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

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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template