(PECL ev >= 0.2.0)
EvTimer::createStopped — Crée un objet EvTimer watcher stoppé
$after
,$repeat
,$callback
,$data
= null
,$priority
= 0
Crée un objet EvTimer watcher stoppé. Contrairement à la méthode EvTimer::__construct(), cette méthode ne démarre pas automatiquement le watcher.
after
Configure le time pour lancer un trigger après
after
secondes.
repeat
Si ce paramètre vaut 0.0
, alors le watcher
sera automatiquement stoppé une fois le délai maximal d'attente atteint.
Si ce paramètre est positif, alors le timer va automatiquement
lancer le trigger à chaque seconde suivante, et ce, tant qu'il ne
sera pas stoppé manuellement.
callback
Voir les fonctions de rappel Watcher.
data
Données personnelles associées au watcher.
priority
Retourne un objet EvTimer watcher en cas de succès.
Exemple #1 Surveillance des modifications dans of /var/log/messages. Détecte les mises à jour oubliées en ajoutant une seconde de délai
<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();
$stat = $w->data;
// 1 seconde après la modification la plus récente du fichier
printf("Current size: %ld\n", $stat->attr()['size']);
});
$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Réinitialise le watcher timer
$timer->again();
});
$timer->data = $stat;
Ev::run();
?>