首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__construct — Constructs EvPeriodic watcher object

Description

代码语言:javascript
复制
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

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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?php
$hourly?=?EvPeriodic(0,?3600,?NULL,?function?()?{
?echo?"once?per?hour\n";
});
?>

See Also

  • EvTimer
  • EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher

EvPeriodic::createStopped →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com