解决方案: 我找到的解决方案:使用低级nohup程序在关闭连接时忽略腻子发送的信号。所以,而不是./gearman-manager start我做了nohup ./gearman-manager start
注意:仍然,我想知道为什么关闭腻子时它会变慢,或者如果它收到挂断信号,为什么它首先会继续???
关闭腻子会话后,我在执行齿轮工时遇到问题。这就是我所拥有的:
- 以 cron 作业开始检查 DB 中的某些内容(无限循环)的 gearman 客户端。
- gearman manager 从gearman-manager start命令开始接收客户端的任务并管理对工作人员的调用
- gearman worker 从 DB 读取/写入并回显当前作业的状态
当我启动 gearman-manager 时,我可以看到我的工人在接收任务和执行任务时的回声。任务(数据库中的更新)在 cca 中执行。1秒...
A)当我关闭腻子会话时,数据库的变化速度大大降低(cca. 1/10sec)?!你能告诉我这是为什么吗?
B)当我用腻子重新登录时,我没有将 gearman-manager 的输出返回到屏幕上?我希望我会重新登录并看到它继续像关闭腻子之前那样回显状态?也许这可能是因为 gearman-manager 以所有者root启动,而回声来自 .php 以用户gearman运行?或者当我重新登录时,进程在后台?!