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

Nyx*_*nyx 3 php resque composer-php php-resque

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

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

查看来源

在此输入图像描述

Wa0*_*x6e 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();
Run Code Online (Sandbox Code Playgroud)

php-resque没有附带重启工作人员的功能,请看一下fresque.

为了避免死亡工人,编译你的php pcntl_fork,在fork中执行你的工作,并将它们与工人隔离.