2011-08-03 8 views
5

Estoy usando la extensión gearman pecl en php, y quiero tener un tiempo de espera para una llamada de función. Dos casos de uso: (1) no hay trabajadores en ejecución, (2) el trabajador tarda demasiado en completarphp Tiempo de espera de GearmanClient

Si todo está funcionando, la llamada es muy rápida y quiero evitar tener una sobrecarga por este tiempo de espera.

Código que actualmente utilizo:

$client = new GearmanClient(); 
$client->addServer(); 
$client->do('nonexistingfunction'); 
+0

Tengo un caso relacionado pero ligeramente más complejo el uso, por lo que he pedido una nueva pregunta aquí: https://stackoverflow.com/questions/49036819/get-response-from-multiple-jobs-in-gearman-but-abort-after-a-timeout/49049263 – IMSoP

Respuesta

0

Sólo tiene que llamar GearmanClient::setTimeout método con el número de milisegundos de espera:

$client = new GearmanClient(); 
$client->addServer(); 
$client->setTimeout(5000); 
+3

Creo que este es el tiempo de espera para la comunicación de E/S con el deamon gearman y no ayudará con mi problema. –

Cuestiones relacionadas