EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__constructConstrói objeto observador EvPeriodic

Descrição

public EvPeriodic::__construct(
     float $offset ,
     string $interval ,
     callable $reschedule_cb ,
     callable $callback ,
     mixed $data = null ,
     int $priority = 0
)

Constrói o objeto observador EvPeriodic e o inicia automaticamente. O método EvPeriodic::createStopped() cria o observador periódico parado.

Parâmetros

offset

Veja Modos de operação do observador periódico

interval

Veja Modos de operação do observador periódico

reschedule_cb

Reprograma retorno de chamada. Você pode passar null. Veja Modos de operação do observador periódico

callback

Veja Retornos de chamada do observador.

data

Dados personalizados associados ao observador.

priority

Prioridade do observador

Exemplos

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";
});
?>

Veja Também