顺序和连续执行PHP脚本

时间:2012-12-05 14:41:00

标签: php linux apache cron

我开发了一个应该连续执行的脚本。现在,在为此脚本创建一个cron作业时,它会一直异步执行。

1)我在脚本中保留了一个while循环并想到执行此脚本一次所以我使用@reboot执行一次脚本但是如果apache崩溃那么这个脚本将不会自己开始执行??

2)使用* * * * * cron执行此脚本,但最终会在服务器上创建多线程和所有cron重叠。

即使apache服务器重新启动,我已经没有想法如何连续顺序执行服务器脚本。

3 个答案:

答案 0 :(得分:2)

你要求:

  

一个应该连续执行的脚本

这是守护进程的定义。您可以使用upstart轻松地使用您的php代码创建一个守护进程。

在这里你可以找到一篇很好的文章来解释如何使用upstart和node.js创建一个守护进程(但很容易适应php脚本):http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/

答案 1 :(得分:0)

cron用于定时重复工作(最小间隔:1分钟)。它适用于最终退出并需要从头开始重新启动的脚本。听起来你的脚本本质上是试图成为一个守护进程 - 启动一次,然后永久运行。

而不是cron重复启动脚本的新副本,只需通过init脚本启动脚本ONCE,例如的/etc/rc.local

答案 2 :(得分:0)

有一些想法可以处理检查脚本是否在this question中运行,并且您可以每隔几分钟运行一次cron以确保其运行,如果没有则启动它。