(PECL ev >= 0.2.0)
EvTimer::createStopped — Creates EvTimer stopped watcher object
$after ,$repeat ,$callback ,$data = null ,$priority = 0Creates EvTimer stopped watcher object. Unlike EvTimer::__construct(), this method doesn't start the watcher automatically.
afterafter seconds.repeat0.0, then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.callbackdatapriorityReturns EvTimer watcher object on success.
Example #1 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();
$stat = $w->data;
// 1 second after the most recent change of the file
printf("Current size: %ld\n", $stat->attr()['size']);
});
$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Reset timer watcher
$timer->again();
});
$timer->data = $stat;
Ev::run();
?>