CakeFest 2024: The Official CakePHP Conference

EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStoppedСоздаёт остановленный наблюдатель EvTimer

Описание

final public static EvTimer::createStopped(
     float $after ,
     float $repeat ,
     callable $callback ,
     mixed $data = null ,
     int $priority = 0
): EvTimer

Создаёт остановленный наблюдатель EvTimer. В отличие от EvTimer::__construct(), этот метод не запускает наблюдателя автоматически.

Список параметров

after

Настраивает таймер для запуска через after секунд.

repeat

Если время повтора равно 0.0, то он будет автоматически остановлен после истечения времени ожидания. Если положительное, таймер будет автоматически настроен на повторный запуск каждые повторяющиеся секунды, пока не будет остановлен вручную.

callback

Смотрите Наблюдатели callback-функций .

data

Пользовательские данные, связанные с наблюдателем.

priority

Приоритет наблюдателя

Возвращаемые значения

Возвращает объект наблюдателя EvTimer в случае успешного выполнения.

Примеры

Пример #1 Следим за изменениями /var/log/messages. Избегаем пропущенные обновления с задержкой в одну секунду

<?php
$timer
= EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();

$stat = $w->data;

// 1 секунда после последнего изменения файла
printf("Текущий размер: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Сброс таймера наблюдателя
$timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top