php – 不断运行的Gearman Worker

我有一个过程,我希望能够在任何时候启动Gearman客户端在后台运行.

我通过打开两个到我的服务器的SSH连接找到了成功,一个启动了worker,另一个启动了运行客户端.这产生了所需的输出.

问题在于,我希望工作人员在后台不断运行,这样我就可以在需要完成流程时调用客户端.但是当我关闭运行工作程序PHP文件的终端时,对客户端的调用不起作用 – 工作者似乎死了.

有没有办法让工作人员在后台不断运行,因此调用新客户端无需启动新工作人员即可运行?

谢谢!

解决方法:

如果你希望程序在父程序已经死亡之后继续运行(即你已经关闭了你的终端),你必须用nohup调用它:

nohup your-command &

引用我链接到的相关*页面:

nohup is a POSIX command to ignore
the HUP (hangup) signal, enabling
the command to keep running after the
user who issues the command has logged
out
.
The HUP (hangup) signal is
by convention the way a terminal warns
depending processes of logout.

对于另一个(可能更多)有趣的解决方案,请参阅以下文章:Dæmonize Your PHP.

它指向Supervisord,这使得一个进程仍在运行,必要时重新启动它.

上一篇:PHP-Java互操作 – Gearman还是PJB?


下一篇:python – 从gearman worker发送失败的作业输出的最佳方法是什么?