2016-03-04 5 views
1

J'ai un opérateur gearman en PHP. Le code de travail a une classe et une fonction définies dans la classe.Comment appeler la fonction de travailleur gearman à l'aide de l'objet de classe

Je ne suis pas en mesure d'enregistrer et d'appeler cette fonction en utilisant un opérateur gearman utilisant un objet de la classe. Voici le code. S'il vous plaît aider.

<?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; 
} 
} 

?> 

Répondre

1

De cette GearmanWorker's document, vous avez besoin d'entrer dans appelable 2ème param:

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

Je n'ai pas testé ce code puisque je n'ai pas Gearman installé ici, mais espère que cela aide.