(PECL ev >= 0.2.0)
EvPeriodic::__construct — Constrói objeto observador EvPeriodic
$offset
,$interval
,$reschedule_cb
,$callback
,$data
= null
,$priority
= 0
Constrói o objeto observador EvPeriodic e o inicia automaticamente. O método EvPeriodic::createStopped() cria o observador periódico parado.
offset
interval
reschedule_cb
Reprograma retorno de chamada. Você pode passar null
. Veja
Modos de operação do observador
periódico
callback
data
Dados personalizados associados ao observador.
priority
Exemplo #1 Temporizador periódico. Usar retorno de chamada de reagendamento
<?php
// Marca a cada 10,5 segundos
function reschedule_cb ($watcher, $now) {
return $now + (10.5. - fmod($now, 10.5));
}
$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
echo time(), PHP_EOL;
});
Ev::run();
?>
Exemplo #2 Temporizador periódico. Marca a cada 10,5 segundos a partir de agora
<?php
// Marca a cada 10,5 segundos a partir de agora
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
echo time(), PHP_EOL;
});
Ev::run();
?>
Exemplo #3 Observador de hora em hora
<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
echo "uma vez por hora\n";
});
?>