2

我已经将 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绑定存在一些问题?我该如何解决?

4

0 回答 0