(PECL swoole >= 1.9.0)
Swoole\Timer::tick — Define un temporizador de intervalo repetitivo
Define un temporizador que se dispara cada ms
milisegundos. A diferencia de un temporizador creado con
Swoole\Timer::after(), sigue disparándose hasta que
se elimina con Swoole\Timer::clear().
ms
El intervalo en milisegundos. Debe ser mayor o igual que
1; un valor inferior emite un
E_WARNING y la llamada falla.
callback
La función a ejecutar en cada disparo. Se llama como
callback(int $timer_id, mixed ...$params): el
identificador del temporizador se pasa como primer argumento, seguido de
los valores indicados en params.
params
Valores adicionales que se pasan a callback
después del identificador del temporizador.
Devuelve el identificador del temporizador, que puede pasarse a
Swoole\Timer::clear(). Devuelve false si el
temporizador no ha podido crearse, en particular cuando
ms es menor que 1.
Ejemplo #1 Ejemplo de 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");
?>El ejemplo anterior mostrará:
tick #1 (job) tick #2 (job) tick #3 (job)