Documentación offline PHP master

GearmanWorker::setTimeout

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

GearmanWorker::setTimeout

Define el tiempo de espera máximo de actividad del socket I/O

Descripción#

public GearmanWorker::setTimeout(int $timeout): true
```php

Define el intervalo de tiempo para esperar actividad del socket I/O.

## Parámetros

`timeout`  
Un intervalo de tiempo, en milisegundos. Un valor negativo indica que el tiempo de espera será infinito.

## Valores devueltos

Retorna siempre `true`.

## Ejemplos

Un agente simple que espera 5 segundos
addServer(); ## Registra una función "reverse" con el servidor. $gmworker->addFunction("reverse", "reverse_fn"); ## Define el tiempo de espera a 5 segundos $gmworker->setTimeout(5000); echo "Esperando trabajo...\n"; while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT) { if ($gmworker->returnCode() == GEARMAN_TIMEOUT) { # Normalmente, debería realizarse alguna tarea útil aquí... echo "Tiempo de espera expirado. Esperando el próximo trabajo...\n"; continue; } if ($gmworker->returnCode() != GEARMAN_SUCCESS) { echo "return_code: " . $gmworker->returnCode() . "\n"; break; } } echo "Hecho\n"; function reverse_fn($job) { return strrev($job->workload()); } ?>

```php

La ejecución de un agente sin ningún trabajo enviado generará una salida que se asemejará a algo como:

Inicio
Esperando trabajo...
Tiempo de espera expirado. Esperando el próximo trabajo...
Tiempo de espera expirado. Esperando el próximo trabajo...
Tiempo de espera expirado. Esperando el próximo trabajo...

Véase también#

GearmanWorker::timeout