如何手动修剪和重启php-resque工作者

时间:2013-03-30 16:34:01

标签: php resque composer-php php-resque

很多时候,php-Resque工作人员会被困在工作上好几天,最终所有工作人员都被困住了,网站也停止了工作。php-resque库是使用Composer安装的。

问题:我想手动修剪。如何访问此功能pruneDeadWorkers()?如果找到死亡工人,我该如何重新启动它们?

View Source

enter image description here

2 个答案:

答案 0 :(得分:6)

要手动修剪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,在fork中执行您的工作,并将它们与工作者隔离。

答案 1 :(得分:0)

首先找到工人清单: Resque_Worker::all(); 这包含工人ID 根据{{​​3}} 输入命令行

`kill workers id`