Exécute une tâche en arrière-plan

# GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Exécute une tâche en arrière-plan

### Description

public function GearmanClient::doBackground(string `$function`, string `$workload`, ?string `$unique` = `null`): string

Exécute une tâche en arrière-plan, retourne le gestionnaire de travaux qui pourra être utilisé pour récupérer le statut de la tâche en cours.

### Liste de paramètres

`function`
  Une fonction enregistrée que le travailleur va exécuter
`workload`
  Données sérialisées à analyser
`unique`
  Un identifiant unique utilisé pour identifier une tâche particulière

### Valeurs de retour

Le gestionnaire de travaux pour la tâche soumise.

### Exemples

Exemple #1 Soumet et surveille un travail en arrière-plan

L'agent de cet exemple a un délai artificiel introduit pour simuler un travail dont l'exécution prend beaucoup de temps. Le script du client vérifie périodiquement le statut du travail en cours.

    <?php

    /* Crée un client */
    $gmclient= new GearmanClient();

    /* Ajoute un serveur par défaut */
    $gmclient->addServer();

    /* Exécute le client */
    $job_handle = $gmclient->doBackground("reverse", "this is a test");

    if ($gmclient->returnCode() != GEARMAN_SUCCESS)
    {
      echo "Code retour erroné\n";
      exit;
    }

    $done = false;
    do
    {
       sleep(3);
       $stat = $gmclient->jobStatus($job_handle);
       if (!$stat[0]) // the job is known so it is not done
          $done = true;
       echo "Exécution : " . ($stat[1] ? "true" : "false") . ", numérateur : " . $stat[2] . ", dénominateur : " . $stat[3] . "\n";
    }
    while(!$done);

    echo "fait !\n";

    ?>

Résultat de l'exemple ci-dessus est similaire à :

    Exécution : true, numérateur : 3, dénominateur : 14
    Exécution : true, numérateur : 6, dénominateur : 14
    Exécution : true, numérateur : 9, dénominateur : 14
    Exécution : true, numérateur : 12, dénominateur : 14
    Exécution : false, numérateur : 0, dénominateur : 0
    fait !

### Voir aussi

- GearmanClient::doNormal() - Exécute une tâche et retourne le résultat
- GearmanClient::doHigh() - Exécute une seule tâche en priorité haute
- GearmanClient::doLow() - Exécute une seule tâche en priorité basse
- GearmanClient::doHighBackground() - Exécute une tâche en priorité haute en arrière plan
- GearmanClient::doLowBackground() - Exécute une tâche en priorité basse en arrière-plan

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open