【发布时间】:2012-11-23 10:08:35
【问题描述】:
我开发了一个脚本,它应该连续和顺序执行。现在在为这个脚本创建一个 cron 作业时,它会一直异步执行。
1) 我在脚本中保留了一个 while 循环,并考虑执行一次此脚本,所以我使用 @reboot 执行一次脚本,但如果 apache 崩溃,那么此脚本将不会自行开始执行??
2) 使用 * * * * * cron 它会执行这个脚本,但会创建多线程,并且所有 cron 最终都会在服务器上重叠。
即使 apache 服务器重新启动,我也想不出如何连续顺序地执行服务器脚本。
【问题讨论】:
-
您可以创建一个“锁定”文件吗?这意味着,当您的脚本启动时,它会检查该文件是否存在。如果文件存在,则脚本不会继续。否则它将在启动脚本时创建文件并在完成后删除文件。只是一个想法。
-
如果您让脚本通过数据库与自己对话会怎样。 IE 经常更新一个单元格,因此如果您的下一个进程尝试运行,它会意识到您的脚本已经在运行并停止。此外,如果脚本运行并且在该单元格的最后一次更新之间有超过几秒钟的时间,那么它会知道继续
-
所以我假设您建议我使用诸如套接字或彗星技术之类的东西来侦听数据库...我们用于推送通知...对吗?那么它是否会无限期地执行脚本,即使 apache 重新启动?