(PECL ev >= 0.2.0)
EvTimer::createStopped — Crea un objeto EvTimer watcher detenido
$after
,$repeat
,$callback
,$data
= null
,$priority
= 0
Crea un objeto EvTimer watcher detenido. A diferencia del método EvTimer::__construct(), este método no inicia automáticamente el watcher.
after
after segundos.
repeat
0.0, entonces el watcher
se detendrá automáticamente una vez alcanzado el tiempo máximo de espera.
Si este parámetro es positivo, entonces el timer lanzará automáticamente
el trigger cada segundo siguiente, hasta que se detenga manualmente.
callback
data
priority
Retorna un objeto EvTimer watcher en caso de éxito.
Ejemplo #1 Monitoreo de modificaciones en /var/log/messages. Detecta actualizaciones olvidadas añadiendo un segundo de demora
<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();
$stat = $w->data;
// 1 segundo después de la modificación más reciente del fichero
printf("Tamaño actual: %ld\n", $stat->attr()['size']);
});
$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Reinicia el watcher timer
$timer->again();
});
$timer->data = $stat;
Ev::run();
?>