У меня есть работник gearman в php. Рабочий код имеет класс и функцию, определенную в классе.
Я не могу зарегистрироваться и вызвать эту функцию, используя рабочий-шестерёнку, используя объект класса. Ниже приведен код. Пожалуйста помоги.
<?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;
}
}
?>
Из этого Документ GearmanWorker, вам нужно ввести вызываемый во второй параметр:
$myObj = new Validation();
$worker->addFunction("myfunction",array($myObj, "myfunction"));
Я не тестировал этот код, так как у меня не установлен Gearman, но надеюсь, что он поможет.
Других решений пока нет …