以特定时间间隔(包括秒)计划任务

问题描述:

我有一个运行在标准linux,apache服务器上的php脚本。在某些情况下,我希望在用户执行特定操作后15分钟运行php脚本。 EG:用户在13:04:55访问,后台进程必须在13:19:55完全运行以特定时间间隔(包括秒)计划任务

当前使用的解决方案是每分钟运行一次并检查是否需要执行操作的cron,但这不准确因为计时器在一分钟内完全运行,不能设置为秒。 EG:cron运行在13:04,13:20等等。

有关如何设置这些的任何建议?

是否有替代产品/齿轮工具其他简单的解决方案?

+0

你仍然可以使用cron,每分钟运行,只需要添加一个电话睡觉()得到它的二线奇要求 – 2013-08-05 09:51:05

有一个每分钟运行一次的cron作业,看看是否有任何作业需要在那一分钟运行,并且在开始每个作业前休眠适当的秒数。

+0

是的,别的那可以在后台设置? – ToughPal

也许一个简单的解决方案,比如在php中设置一个包含事件触发时间的会话变量。在随后的每个页面上,您可以将会话变量加载到一个javascript定时器中,该定时器在会话变量的开始时间与now()时间相比等于15分钟时会在后台异步发生。

这也将允许您使任务更具可移植性,而不是依赖于cron作业来执行不属于其“正常”功能的任务。

来源:

Jquery ajax call from javascript to PHP

Access PHP variable in JavaScript

Difference between times in JavaScript

Fat Controller作品科雷相似,只是每个指定的脚本无论是开始,还是从终点的时间之间的间隔之前脚本的运行直到下一个脚本的开始。无论哪种情况,您都可以指定以秒为单位的时间,并提供管理或防止重叠运行的各种策略。

文档,示例和下载: http://fat-controller.sourceforge.net