3

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

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

查看源代码

在此处输入图像描述

4

2 回答 2

6

要手动修剪工人,请包含 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

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

于 2013-06-03T19:47:43.200 回答
0

首先找到工作人员列表: 这包含根据命令行中的php-resque doc 类型的Resque_Worker::all(); 工作人员 ID

`kill workers id`
于 2016-04-19T11:28:21.433 回答