function reschedule_cb_10s ($watcher, $now) {
return $now + 10.;
}
//PHP7.0+版本不支持reschedule_cb模式
// PHP5.6测试通过
$w5 = new EvPeriodic(0.0, 0.0, "reschedule_cb_10s", function ($w, $revents) {
echo "w5:enter:", time(), PHP_EOL;
// sleep(3);
echo "w5:end:", time(), PHP_EOL;
});
Ev::run();
PHP.mk документација
EvPeriodic::__construct
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
evperiodic.construct.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
evperiodic.construct.php
EvPeriodic::__construct
Референца за `evperiodic.construct.php` со подобрена типографија и навигација.
EvPeriodic::__construct
Класата EvPrepare
EvPeriodic::__construct — Конструира EvPeriodic објект за набљудување
= NULL
public
EvPeriodic::__construct(
float
string
callable
callable
mixed
int
)
float
$offset
,string
$interval
,callable
$reschedule_cb
,callable
$callback
,mixed
$data
= null
,int
$priority
= 0
)
Конструира EvPeriodic објект за набљудување и го стартува автоматски. EvPeriodic::createStopped() методот создава запрен периодичен набљудувач.
Параметри
-
offset - Константи за известување за грешки Режими на работа на периодични надзорници
-
interval - Константи за известување за грешки Режими на работа на периодични надзорници
-
reschedule_cb -
Презакажи повик. Можете да поминете
null. Види Режими на работа на периодични надзорници -
callback - Константи за известување за грешки Повици за надзорници.
-
data - Прилагодени податоци поврзани со набљудувачот.
-
priority - Приоритет на набљудувачот
Примери
Пример #1 Периодичен тајмер. Користи презакажување на повик
<?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();
?>Пример #2 Периодичен тајмер. Отчукува на секои 10.5 секунди почнувајќи од сега
<?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();
?>Пример #3 Часовен набљудувач
<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
echo "once per hour\n";
});
?>Види Исто така
- Режими на работа на периодични надзорници
- EvTimer
- EvPeriodic::createStopped() - Создадете запрен EvPeriodic набљудувач
Белешки од корисници 1 белешка
1187328898 at qq dot com ¶
пред 7 години