我已经将 Gearman 从 CentOS 6.4 中使用的旧的 pre 1.0 版本升级到 1.1.8,并且在我还将 PHP 绑定升级到 1.1.1 之后,php 工作人员不再工作 - 他们不处理任何工作,也不会被计算在内由齿轮人本身。这是我用于工人的代码:
$gmworker= new GearmanWorker();
$gmworker->addServer("localhost", "4730");
$gmworker->addFunction("checkHost", "dummy");
while($gmworker->work()) {}
function dummy() {
echo "job\n";
return 'ok';
}
echo status | nc localhost 4730;
显示 200 多个 checkHost 类型的作业和 0 个工人。当我启动一个简单的 nodejs 客户端时:
var gearman = new (require("node-gearman"))('localhost', 4730);
gearman.registerWorker("checkHost", function(payload, worker){
setTimeout(function() {
console.log('end');
worker.end('end');
}, 1000);
});
作业得到正常处理。那么显然PHP绑定存在一些问题?我该如何解决?