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();
?>

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