我想知道我是否能得到一些帮助。
我有一个每隔5分钟运行一次的cronjob。
我的数据库中还有一些条目,其中“开始日期”格式为
'yyyy-mm-dd HH:mm:ss'
我想要做的是在开始日期后24小时为每个条目运行一个特定的命令。
因此,例如,如果一个条目的开始日期为2016-11-18 12:08:44
,我想在2016-11-19 12:08:44 ...
上对该条目运行命令因为cron每5分钟只运行一次,我不指望确切地说是在24小时,但尽可能接近(每个方向5分钟)。
有没有人可以给我一个如何在PHP中实现这个目标的例子?
非常感谢。
答案 0 :(得分:0)
你应该这样做:
编辑:
这是一段源代码,未经过测试!
$datetime = new \Datetime();
$timestamp = $datetime->getTimestamp();
$datetime_desired_launch = new \Datetime($your_formatted_datetime_from_db);
$desired_timestamp = $datetime_desired_launch->getTimestamp();
// I have manipulate timestamp for more efficiency
$launch_min_interval = $desired_timestamp - 5 * 3600; // - 5 minutes
$launch_max_interval = $desired_timestamp + 5 * 3600; // + 5 minutes
if ($timestamp >= $launch_min_interval && $timestamp <= $launch_max_interval) {
// Here launch action...
}
小心时区!
希望这有帮助!
答案 1 :(得分:0)
你可以使用crontab每5分钟编写一个脚本
在此脚本中,您可以检查日期并查看其他脚本