有没有一个forever.js等效程序可以让PHP连续运行我的脚本


Is there a forever.js equivalent for PHP to run my scripts continuously?

我偶尔会使用forever.js将CLI类型的Node.js应用程序快速而肮脏地部署到生产环境中,在这些环境中我不希望进行全面的supervisord部署。

我想知道是否有PHP的等价物?目前,我们有一个队列处理系统,它从SQS获取消息,并将它们同步处理到数据库中(这不能异步完成,因为在这个特定的用例中,这会导致各种讨厌的行锁定问题。)目前,它使用cron每分钟都在运行,但它通常会提前完成,我希望它重新开始运行。一次不能运行多个进程。

欢迎任何*nix命令/software/bash类型的想法。

只需在php脚本中使用forever(使用-c参数指示永远使用php):

$ cat test.php
<?php
sleep(3);
print("foobar'n");
exit;
?>
$ forever -c php test.php
foobar
error: Forever detected script was killed by signal: null
error: Forever restarting script for 1 time
foobar
error: Forever detected script was killed by signal: null
error: Forever restarting script for 2 time
...

我刚刚发现了这个工具supervisord,它工作得很好。我用这个棘轮教程让它在几分钟内运行!

若我永远记得正确的脚本不重新启动时,你们重新启动服务器?