顺序和连续地执行php脚本

0 人关注

我已经开发了一个脚本,它应该连续和顺序地执行。现在在为这个脚本创建一个cron job时,它一直在异步执行。

1) 我在脚本中保留了一个while循环,我想执行一次这个脚本,所以我用@reboot来执行一次脚本,但是如果apache崩溃了,这个脚本就不会自己开始执行了?

2)使用 * * * * cron执行这个脚本,但最终会在服务器上产生多线程和所有cron的重叠。

我已经没有办法了,如何在apache服务器重启的情况下,连续、有序地执行一个服务器脚本。

3 个评论
Kyle
你是否可以创建一个 "锁 "文件?也就是说,当你的脚本启动时,它会检查这个文件是否存在。如果该文件存在,那么脚本就不会继续。否则,它将在启动脚本时创建该文件,并在完成后删除该文件。只是一个想法。
如果你让脚本通过数据库与自己对话呢?即经常更新一个单元,因此如果你的下一个预处理程序试图运行,它将意识到你的脚本已经在运行并停止。
所以我认为你建议我使用类似于套接字或彗星技术来监听数据库......就像我们用于推送通知的那种......对吗?那么它是否会无限期地执行脚本,甚至在apache重新启动的情况下?
php
linux
apache
cron
Mihir Patel
Mihir Patel
发布于 2012-12-05
3 个回答
m4t1t0
m4t1t0
发布于 2012-12-05
已采纳
0 人赞同

你要求的是

脚本,应连续和按顺序执行

这就是守护神的定义。你可以使用 新贵 来轻松地用你的php代码创建一个守护程序。

Here you can find a good article to explain how create a daemon with 新贵 and node.js (but is easy to adapt to a php script): http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/

Marc B
Marc B
发布于 2012-12-05
0 人赞同