如何使用类对象调用gearman worker函数

时间:2016-03-04 02:50:23

标签: php worker gearman

我在php中有一个齿轮工人。 worker代码有一个类和在类中定义的函数。

我无法使用该类对象使用gearman worker注册并调用该函数。下面是代码。请帮忙。

<?php
class Validation {

    public function myfunction() {
        $xyz = 0;
        )
}

$myobj = new Validation();
$worker = new GearmanWorker();
$worker->addServer('localhost');
$worker->addFunction("myobj->myfunction","myobj->myfunction");

while($worker->work())
{

if ($worker->returnCode() != GEARMAN_SUCCESS)
{
syslog(LOG_ERR, "return_code: " . $worker->returnCode());
break;
}
}

?>

1 个答案:

答案 0 :(得分:1)

从这个GearmanWorker's document,您需要将callable输入到第二个参数:

$myObj = new Validation();
$worker->addFunction("myfunction",array($myObj, "myfunction"));

我没有测试此代码,因为我没有安装Gearman,但希望它有所帮助。