【问题标题】:How to manually prune and restart php-resque workers如何手动修剪和重启 php-resque 工作者
【发布时间】:2016-04-19 19:28:21
【问题描述】:

php-Resque 工作人员经常会在工作上卡住几天,最终所有工作人员都卡住了,网站停止工作。php-resque 库是使用 Composer 安装的。

问题:我想手动进行修剪。如何访问此功能pruneDeadWorkers()?如果发现死掉的工人,我该如何重新启动它们?

View Source

【问题讨论】:

    标签: php resque composer-php php-resque


    【解决方案1】:

    要手动修剪worker,包含vendor/chrisboulton/php-resque/lib/Resque/Worker.php文件,实例化一个Worker,然后调用pruneDeadWorkers();

    <?php 
    include 'vendor/chrisboulton/php-resque/lib/Resque/Worker.php'; // If you're not already using composer autoloader
    
    $worker = new Worker('default'); // the argument doesn't matter
    $worker->pruneDeadWorkers();
    

    php-resque 没有提供重启工作器的功能,请查看fresque

    为避免工人死亡,请使用pcntl_fork 编译您的 php,以在分叉中执行您的作业,并将它们与工人隔离。

    【讨论】:

      【解决方案2】:

      首先找到工人列表: Resque_Worker::all(); 这包含工人ID 根据php-resque doc 输入命令行

      `kill workers id`
      

      【讨论】:

        猜你喜欢
        • 2012-07-09
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 2015-08-19
        • 2012-11-07
        • 2015-11-08
        • 1970-01-01
        • 2010-12-16
        相关资源
        最近更新 更多