(PECL swoole >= 1.9.0)
Swoole\Timer::tick — Définit un minuteur répétitif
Définit un minuteur qui se déclenche toutes les ms
millisecondes. Contrairement à un minuteur créé avec
Swoole\Timer::after(), il continue de se déclencher
jusqu'à sa suppression avec Swoole\Timer::clear().
ms
L'intervalle, en millisecondes. Doit être supérieur ou égal à
1 ; une valeur inférieure émet une
E_WARNING et l'appel échoue.
callback
La fonction à exécuter à chaque déclenchement. Elle est appelée sous la
forme callback(int $timer_id, mixed ...$params) :
l'identifiant du minuteur est transmis comme premier argument, suivi des
valeurs données dans params.
params
Valeurs supplémentaires transmises à callback
après l'identifiant du minuteur.
Retourne l'identifiant du minuteur, qui peut être transmis à
Swoole\Timer::clear(). Retourne false si le minuteur
n'a pas pu être créé, en particulier lorsque ms est
inférieur à 1.
Exemple #1 Exemple avec Swoole\Timer::tick()
<?php
$ticks = 0;
Swoole\Timer::tick(1000, function (int $timer_id, string $label) use (&$ticks) {
echo "tick #", ++$ticks, " ($label)\n";
if ($ticks === 3) {
Swoole\Timer::clear($timer_id);
}
}, "job");
?>L'exemple ci-dessus va afficher :
tick #1 (job) tick #2 (job) tick #3 (job)