Maison  >  Article  >  cadre php  >  Comment implémenter des tâches planifiées dans swoole

Comment implémenter des tâches planifiées dans swoole

WBOY
WBOYoriginal
2022-02-14 14:30:463172parcourir

Méthode : 1. Utilisez l'instruction "swoole_timer_after (heure, fonction à exécuter)" pour exécuter la tâche après l'heure spécifiée ; 2. Utilisez l'instruction "swoole_timer_tick (heure, fonction à exécuter, fonction de rappel)" pour définir une minuterie d'horloge à intervalles Effectuer des tâches.

Comment implémenter des tâches planifiées dans swoole

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Swoole 4, ordinateur DELL G3

Comment implémenter des tâches planifiées avec swoole

swoole_timer_after

Pour exécuter la fonction après l'heure spécifiée, swoole -1.7.7 ou supérieur est requis.

swoole_timer_after(int $after_time_ms, mixed $callback_function);

La fonction swoole_timer_after est une minuterie unique qui sera détruite une fois l'exécution terminée. Cette fonction est différente de la fonction sleep fournie par la bibliothèque standard PHP After est non bloquante. Une fois l'appel de mise en veille effectué, le processus en cours sera bloqué et ne pourra pas gérer de nouvelles demandes.

  • $after_time_ms spécifie le temps en millisecondes

  • $callback_function La fonction exécutée après l'expiration du temps doit être appelable. La fonction de rappel n'accepte aucun paramètre

  • $after_time_ms La valeur maximale ne doit pas dépasser 86400000

Exemple d'utilisation

swoole_timer_after(1000, function(){
    echo "timeout\n";
});

swoole_timer_tick

Définir une minuterie d'intervalle Contrairement à la minuterie d'après, la minuterie de tick va. continuez à tirer jusqu'à ce qu'il soit effacé en appelant swoole_timer_clear. Différent de swoole_timer_add, le timer tick peut avoir plusieurs timers avec le même intervalle.

int swoole_timer_tick(int $ms, mixed $callback, mixed $param = null);
  • $ms spécifie le temps en millisecondes

  • $callback_function La fonction exécutée après l'expiration du temps doit être appelable. La fonction de rappel n'accepte aucun paramètre

  • $param Le paramètre de rappel

  • $ms ne doit pas dépasser 86400000

tick timer est disponible en version 1.7.14 ou supérieure

tick timer remplacera bientôt swoole_timer_ad ré

Fonction de rappel

La fonction de rappel déclenchée par le timer accepte 2 paramètres.

function onTimer(int $timer_id, mixed $params = null);
  • $timer_id L'ID du timer, qui peut être utilisé par swoole_timer_clear pour effacer ce timer

  • $params Les paramètres utilisateur transmis par swoole_timer_tick

Exemple d'utilisation

swoole_timer_tick(1000, function(){
    echo "timeout\n";
});

Re apprentissage recommandé : swoole tuto

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn