在PHP中运行预定作业

时间:2015-07-21 08:10:03

标签: php cakephp cakephp-2.0

我正在使用Cakephp。 我想运行预定的工作。 情况如下:

用户在UI上设置某些任务的时间(比如1周)。 当时间结束时,我想执行一些特定的任务。同时,用户也可以更改时间,任务应该在更新的时间执行。

实现这一目标的最佳方式(也是可靠的)是什么?

PS:复杂性不是问题。但任务必须始终在特定时间后运行。

2 个答案:

答案 0 :(得分:4)

  • 在表格中的字段
  • 中设置执行日期
  • 同时设置状态(待定)
  • 运行cron job每X秒或分钟运行a CakePHP shell,无论您需要什么 OR 创建一个始终运行的shell并每隔X秒检查一次记录循环。
  • shell将处理为低于当前日期的执行日期配置的任务
  • 根据结果将状态设置为成功或失败

由您决定如何处理失败的任务,如果任务比配置的时间晚了10秒或10分钟就可以了,那么它取决于您。有多种因素可以解决这个问题:您对表的cron作业/查询的间隔。他们必须并行处理吗?可以在彼此之后处理它们吗?您的信息很模糊。

答案 1 :(得分:2)

在CakePHP中执行此操作的方法是create a shellrun it with Cronjobs