EvPeriodic::__construct
(PECL ev >= 0.2.0)
EvPeriodic::__construct — Constructs EvPeriodic watcher object
Description
public EvPeriodic::__construct ( double $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped() method creates stopped periodic watcher.
Parameters
offset
interval
reschedule_cb
Reschedule callback. You can pass NULL
. See Periodic watcher operation modes
callback
See Watcher callbacks .
data
Custom data associated with the watcher.
priority
Watcher priority
Return Values
Returns EvPeriodic object on success.
Examples
Example #1 Periodic timer. Use reschedule callback
<?php
//?Tick?each?10.5?seconds
function?reschedule_cb?($watcher,?$now)?{
?return?$now?+?(10.5.?-?fmod($now,?10.5));
}
$w?=?new?EvPeriodic(0.,?0.,?"reschedule_cb",?function?($w,?$revents)?{
?echo?time(),?PHP_EOL;
});
Ev::run();
?>
Example #2 Periodic timer. Tick every 10.5 seconds starting at now
<?php
//?Tick?every?10.5?seconds?starting?at?now
$w?=?new?EvPeriodic(fmod(Ev::now(),?10.5),?10.5,?NULL,?function?($w,?$revents)?{
?echo?time(),?PHP_EOL;
});
Ev::run();
?>
Example #3 Hourly watcher
<?php
$hourly?=?EvPeriodic(0,?3600,?NULL,?function?()?{
?echo?"once?per?hour\n";
});
?>
See Also
- EvTimer
- EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher
EvPeriodic::createStopped →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com