PHP 8.4.2 Released!

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowAjoute une tâche de faible priorité à effectuer en parallèle

Description

public GearmanClient::addTaskLow(
    string $function_name,
    string|int|float $workload,
    mixed $context = null,
    ?string $unique_key = null
): GearmanTask|false

Ajoute une tâche de faible 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 faible priorité seront sélectionnée dans la queue après celle de priorité plus forte.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données sérialisées à analyser

context

Contexte de l'application à associer avec une tâche

unique_key

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 faible priorité en même temps que deux tâches normales

Une tâche de faible 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 faible priorité en dernier.

<?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 faible priorité
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "1");
$task= $gmc->addTaskLow("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";
}

?>

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

Complétée : 3, !ednom el ruojnoB
Complétée : 1, !ednom el ruojnoB
Complétée : 2, Bonjour le monde!
Fait

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top