GearmanClient::addTaskHigh
(PECL gearman >= 0.5.0)
GearmanClient::addTaskHigh — Ajoute une tâche de forte priorité à effectuer en parallèle
Description
$function_name
, string $workload
[, mixed &$context
[, string $unique
]] ) : GearmanTaskAjoute une tâche de forte priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks() pour faire le travail. Les tâches avec une forte priorité seront sélectionnée dans la queue avant celle de priorité plus faible.
Liste de paramètres
-
function_name
-
Une fonction enregistrée que le travailleur va exécuter
-
workload
-
Données linéarisées à analyser
-
context
-
Contexte de l'application à associer avec une tâche
-
unique
-
Un identifiant unique utilisé pour identifier une tâche particulière
Exemples
Exemple #1 Une tâche de forte priorité en même temps que deux tâches normales
Une tâche de forte priorité est ajoutée en plus de deux autres tâches. Un seul agent est disponible, de telle façon que les tâches s'exécutent une à une, avec celle de forte priorité en premier.
<?php
# crée le client Gearman
$gmc= new GearmanClient();
# ajoute le serveur par défaut
$gmc->addServer();
# fixe le retour quand la tâche est complétée
$gmc->setCompleteCallback("inverse_complete");
# ajoute des tâches, l'une ayant une forte priorité
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "1");
$task= $gmc->addTaskHigh("inverse", "!ednom el ruojnoB", null, "2");
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "3");
if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}
echo "Fait\n";
function inverse_complete($task)
{
echo "Complétée : " . $task->unique() . ", " . $task->data() . "\n";
}
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Complétée : 2, Bonjour le monde! Complétée : 3, !ednom el ruojnoB Complétée : 1, !ednom el ruojnoB Fait
Voir aussi
- GearmanClient::addTask() - Ajoute une tâche à exécuter en parallèle
- GearmanClient::addTaskLow() - Ajoute une tâche de faible priorité à effectuer en parallèle
- GearmanClient::addTaskBackground() - Ajoute une tâche d'arrière-plan pour une exécution en parallèle
- GearmanClient::addTaskHighBackground() - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
- GearmanClient::addTaskLowBackground() - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
- GearmanClient::runTasks() - Exécute une liste de tâches en parallèle
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-gearmanclient.addtaskhigh.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.