永久的cron工作

时间:2016-07-31 18:02:55

标签: php linux cron crontab cron-task

我开发了一个php脚本,我想连续运行。

例如,脚本run.php执行一系列任务,但我不知道需要多长时间:它可能需要30秒,1分钟,2分钟或更长时间。

问题是这个脚本不能同时执行。

所以我不能使用cron作业,因为如果我每分钟设置一个cron作业,但脚本运行的时间超过1分钟,我就会有bug。

事实上,我希望这个cron作业永久执行:每次run.php结束时,脚本run.php都会一次又一次重新加载......

我不知道如何解决这个问题。

请帮忙吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

你[至少]有两个选择:

  • run.php代码下,确定它是否已在运行(通过设置在脚本开头检查的某个外部控制系统)并按照您的描述设置crontab作业。 [我推荐这种方法]。

  • 使用(while :; do php run.php; done) &运行一次,然后将其放在/etc/rc.local内,使其在每次系统启动时运行。我真的不喜欢这种方法,但这是一种可能的解决方案。