PHP.mk документација

Режими на работа на периодични надзорници

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

ev.periodic-modes.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека ev.periodic-modes.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Режими на работа на периодични надзорници

Референца за `ev.periodic-modes.php` со подобрена типографија и навигација.

ev.periodic-modes.php

Режими на работа на периодични надзорници

EvPeriodic набљудувачот работи во различни режими во зависност од offset, interval and reschedule_cb parameters.

  1. Апсолутен тајмер. Во овој режим interval = 0, reschedule_cb = null. Ова време едноставно се активира во времето на часовникот offset и не се повторува. Тоа нема да се прилагоди кога ќе се случи скок во времето, односно, ако треба да се изврши во 1 јануари 2014 година тогаш ќе се изврши кога системското време ќе го достигне или надмине ова време.
  2. Тајмер со повторувачки интервал. Во овој режим interval > 0, reschedule_cb = null; набљудувачот секогаш ќе биде закажан да истече во следниот offset + N * interval време (за некој цел број N) и потоа да се повтори, без оглед на какви било скокови во времето.

    Ова може да се користи за создавање тајмери кои не се поместуваат во однос на системското време:

    <?php
    $hourly
    = EvPeriodic(0, 3600, NULL, function () {
    echo
    "once per hour\n";
    });
    ?>
    Тоа не значи дека секогаш ќе има 3600 секунди помеѓу активирањата, туку само дека повикот ќе биде повикан кога системското време покажува полн час ( UTC ). EvPeriodic ), без оглед на какви било скокови во времето. time = offset ( mod interval Режим на рачно презакажување
  3. и двете се игнорираат. Наместо тоа, секогаш кога периодичниот набљудувач ќе биде закажан, повикот за презакажување (. Во овој режим reschedule_cb е callable. interval and offset ) ќе биде повикан со набљудувачот како прв, а тековното време како втор аргумент. reschedule_cbОвој повик Овој повик Ако завршниот идентификатор е вовлечен, може да се користат и табулатори, но табулаторите и празнините престанете или уништете ги овие или кој било друг периодичен набљудувач, засекогаш, и Ако завршниот идентификатор е вовлечен, може да се користат и табулатори, но табулаторите и празнините повикајте какви било функции или методи на циклусот на настани. За да го запрете вратете 1e30 и потоа запрете го. А EvPrepare набљудувач може да се користи за оваа задача. Мора да го врати следното време за активирање, врз основа на поминатата вредност на времето (т.е. најниската вредност на времето поголема или еднаква на вториот аргумент). Обично ќе се повика непосредно пред да се активира повикот, но може да се повика и во други времиња.

    Пример #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();
    ?>

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.