【问题标题】:Php daemon process crashing frequentlyphp守护进程频繁崩溃
【发布时间】:2017-10-26 21:34:40
【问题描述】:

我们使用 beanstalkd 运行从客户端接收作业,使用 php 并使用 pheanstalk 作为 php 代理。我们运行一个worker作为php系统守护进程并使用monit进行监控。

但它会一直以每天一次的频率重新启动。观察问题后,确认没有代码端错误。那么机会有多大呢?

【问题讨论】:

  • 最后一句话我看了3遍,还是不明白你想要什么。您可以编辑问题吗?
  • @OmriLuzon 很抱歉迟到了......我的意思是监视器经常重启工作线程......

标签: php daemon beanstalkd pheanstalk


【解决方案1】:

PHP 并非设计为一个长时间运行的进程,因此偶尔重新启动脚本可能是一件有用的事情——尤其是在您可以控制干净退出的情况下。

例如,您可以循环运行 50/100/1000 个作业,然后退出脚本以使其自动重新启动。包装call to the script in a fairly simple shell script 可以检查返回值,然后立即重新启动,或者如果可能出现问题,可以稍微放慢速度。

脚本突然失败的原因多种多样。内存泄漏可能会迫使操作系统终止进程,错误可能会引发未捕获的异常或其他此类致命错误,或者脚本外部的某些东西可能会导致失败。

队列后台工作人员的难点在于处理可能导致脚本一直无法工作的(潜在)问题。详细日志可以在尝试追踪此类问题时提供很大帮助。

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 2021-12-07
    • 2014-01-05
    • 2018-11-22
    相关资源
    最近更新 更多