我有一个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
运行时运行,并在15:00
时event two
运行。
有没有办法在每个事件的开始时间到来后从 php 更改cron job
?
更新:此外,我不能使用每分钟运行一次脚本的 cron,因为有时刷新事件可能需要一段时间(有时甚至超过一分钟( - 我有一个 do{}while()
循环,一旦机器人运行一次,每隔 10 秒调用一次事件服务器 API,直到发布有关事件的数据。
谢谢!
进程合并到一个脚本中,每分钟使用 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();