我在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;
}
}
?>
答案 0 :(得分:1)
从这个GearmanWorker's document,您需要将callable输入到第二个参数:
$myObj = new Validation();
$worker->addFunction("myfunction",array($myObj, "myfunction"));
我没有测试此代码,因为我没有安装Gearman,但希望它有所帮助。