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
]] )Ajoute 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
Valeurs de retour
Un objet GearmanTask ou FALSE
si la tâche ne peut pas être ajoutée.
Exemples
Exemple #1 Une tâche de forte priorité en même temps que deux tâches normales
<?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