以动态间隔运行PHP机器人

时间:2019-07-11 19:21:48

标签: php cron

我有一个PHP机器人,它收集有关一些事件的数据。数据结构如下:

// event one
[Date] => 11.07.2019 
[Start] => 12:30
[Name] => ...
[State] => ...

// event two
[Date] => 11.07.2019 
[Start] => 15:00
[Name] => ...
[State] => ...

我每天使用00:00cron job运行一次,以收集开始时间。在开始时间(每个事件每天都有不同)之后,我需要在事件开始时为每个事件运行另一个脚本。

例如,对于event one,我需要使该机器人在12:30上运行,而对于event two15:00上运行。

一旦每个活动的开始时间到来,是否有办法从php更改cron job

更新: 我也不能使用cron来每分钟运行一次脚本,因为有时刷新事件可能需要一段时间(有时甚至超过一分钟)-我有一个do{}while()循环,该循环每10秒钟调用一次事件服务器api僵尸程序运行一秒钟后,直到有关事件的数据发布。

谢谢!

1 个答案:

答案 0 :(得分:0)

将进程合并为一个脚本,并使用cron每分钟运行该脚本。如果时间不是开始时间,请退出脚本,如果允许,请运行脚本并处理事件。

// get your start time as normal
$starttime = my_starttime_check_function();
// compare it to now
if($starttime != date("H:i")){
    exit;
}
// if we get this far it must be the start time .. run the event process
my_event_process_function();