The EvPeriodic class
(PECL ev >= 0.2.0)
Introduction
Periodic watchers are also timers of a kind, but they are very versatile.
Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are not uncommon(e.g. when adjusting it).
EvPeriodic
watcher can be configured to trigger after some specific point in time.
For example, if an
EvPeriodic
watcher is configured to trigger
"in 10 seconds"
(e.g.
EvLoop::now()
+
10.0
, i.e. an absolute time, not a delay), and the system clock is reset to
January of the previous year
, then it will take a year or more to trigger the event (unlike an
EvTimer
, which would still trigger roughly
10
seconds after starting it as it uses a relative timeout).
As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).
Class synopsis
$offset
,
string
$interval
,
callable
$reschedule_cb
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] )$offset
,
float
$interval
,
callable
$reschedule_cb
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] ) : EvPeriodicProperties
- offset
-
When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeriodic::set() , although libev might modify this value for better numerical stability).
- interval
-
The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeriodic::again() is being called.
Table of Contents
- EvPeriodic::again — Simply stops and restarts the periodic watcher again
- EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
- EvPeriodic::__construct — Constructs EvPeriodic watcher object
- EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
- EvPeriodic::set — Configures the watcher
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-class.evperiodic.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.