(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
Configura el tiempo para lanzar un trigger después de
after
segundos.
repeat
Si este parámetro vale 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
Ver las funciones de retrollamada Watcher.
data
Datos personales asociados al watcher.
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();
?>