GearmanClient::addTaskBackground
En esta página
GearmanClient::addTaskBackground
Añade una tarea de fondo para su ejecución en paralelo
Descripción#
public GearmanClient::addTaskBackground(string $function_name, string $workload, [mixed $context], [string $unique_key]): GearmanTask
```php
Añade una tarea de fondo para su ejecución en paralelo con otras tareas. Llámese a este método para todas las tareas que deban ejecutarse en paralelo, y luego, llámese al método GearmanClient::runTasks para realizar las tareas.
## Parámetros
`function_name`
Una función registrada que el trabajador va a ejecutar
`workload`
Datos serializados a analizar
`context`
Contexto de la aplicación a asociar con una tarea
`unique_key`
Un identificador único utilizado para identificar una tarea particular
## Valores devueltos
Un objeto `GearmanTask` o `false` si la tarea no pudo ser añadida.
## Ejemplos
2 tareas, una de ellas en segundo plano
Este ejemplo muestra la diferencia entre la ejecución en segundo plano y una ejecución normal. El cliente añade 2 tareas que deben ejecutar la misma función, pero una ha sido añadida con el método addTaskBackground. Se define una función de retorno para monitorear el progreso del trabajo. Un agente simple con un retraso artificial reporta el progreso y el cliente lo procesa mediante la función de retorno. Se ejecutan 2 agentes en este ejemplo. Obsérvese que la tarea en segundo plano no es mostrada por el cliente.
```php
El agente muestra, para los 2 trabajos :
Trabajo recibido : H:foo.local:65
Carga del agente : !dlroW olleH (12)
1/12 complete
Trabajo recibido : H:foo.local:66
Carga del agente : Hello World! (12)
Enviando estado : 1/12 complete
Enviando estado : 2/12 complete
Enviando estado : 2/12 complete
Enviando estado : 3/12 complete
Enviando estado : 3/12 complete
Enviando estado : 4/12 complete
Enviando estado : 4/12 complete
Enviando estado : 5/12 complete
Enviando estado : 5/12 complete
Enviando estado : 6/12 complete
Enviando estado : 6/12 complete
Enviando estado : 7/12 complete
Enviando estado : 7/12 complete
Enviando estado : 8/12 complete
Enviando estado : 8/12 complete
Enviando estado : 9/12 complete
Enviando estado : 9/12 complete
Enviando estado : 10/12 complete
Enviando estado : 10/12 complete
Enviando estado : 11/12 complete
Enviando estado : 11/12 complete
Enviando estado : 12/12 complete
Enviando estado : 12/12 complete
Resultado : !dlroW olleH
Resultado : Hello World!
Salida del cliente :
ESTADO : 1, H:foo.local:66 - 1/12
ESTADO : 1, H:foo.local:66 - 2/12
ESTADO : 1, H:foo.local:66 - 3/12
ESTADO : 1, H:foo.local:66 - 4/12
ESTADO : 1, H:foo.local:66 - 5/12
ESTADO : 1, H:foo.local:66 - 6/12
ESTADO : 1, H:foo.local:66 - 7/12
ESTADO : 1, H:foo.local:66 - 8/12
ESTADO : 1, H:foo.local:66 - 9/12
ESTADO : 1, H:foo.local:66 - 10/12
ESTADO : 1, H:foo.local:66 - 11/12
ESTADO : 1, H:foo.local:66 - 12/12
TERMINADO : 1, !dlroW olleH
HECHO
Véase también#
GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient::runTasks