(PECL ev >= 0.2.0)
EvTimer::createStopped — Cria objeto observador EvTimer parado
$after
,$repeat
,$callback
,$data
= null
,$priority
= 0
Cria objeto observador EvTimer parado. Diferentemente de EvTimer::__construct(), esse método não inicia o observador automaticamente.
after
Configura o temporizador para disparo após
after
segundos.
repeat
Se este parâmetro for
0.0
,
o temporizador será automaticamente parado quando o tempo limite for atingido.
Se for positivo, será o intervalo em segundos no qual o temporizador será
automaticamente configurado para disparar novamente, até ser parado manualmente.
callback
Consulte funções de retorno observadoras.
data
Dados personalizados associados com o observador.
priority
Retorna um objeto EvTimer watcher em caso de sucesso.
Exemplo #1 Monitora alterações em /var/log/messages. Evita perder atualizações por meio de um atraso de um segundo
<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();
$stat = $w->data;
// 1 segundo após a alteração mais recente do arquivo
printf("Tamanho atual: %ld\n", $stat->attr()['size']);
});
$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Reinicia o observador do temporizador
$timer->again();
});
$timer->data = $stat;
Ev::run();
?>