我有一个PHP
机器人,它收集有关一些事件的数据。数据结构如下:
// event one
[Date] => 11.07.2019
[Start] => 12:30
[Name] => ...
[State] => ...
// event two
[Date] => 11.07.2019
[Start] => 15:00
[Name] => ...
[State] => ...
我每天使用00:00
在cron job
运行一次,以收集开始时间。在开始时间(每个事件每天都有不同)之后,我需要在事件开始时为每个事件运行另一个脚本。
例如,对于event one
,我需要使该机器人在12:30
上运行,而对于event two
在15:00
上运行。
一旦每个活动的开始时间到来,是否有办法从php更改cron job
?
更新:
我也不能使用cron来每分钟运行一次脚本,因为有时刷新事件可能需要一段时间(有时甚至超过一分钟)-我有一个do{}while()
循环,该循环每10秒钟调用一次事件服务器api僵尸程序运行一秒钟后,直到有关事件的数据发布。
谢谢!
答案 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();