Как вызвать рабочую функцию gearman, используя объект класса

У меня есть работник 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;
}
}

?>

1 ответ

Из этого документа GearmanWorker вам нужно ввести вызываемое значение во 2-й параметр:

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

Я не тестировал этот код, так как у меня не установлен Gearman, но надеюсь, что он поможет.

Другие вопросы по тегам