EvTimer::createStopped
(PECL ev >= 0.2.0)
EvTimer::createStopped — Создает остановленный наблюдатель EvTimer
Описание
$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();
?>
Смотрите также
- EvTimer::__construct() - Конструктор объекта наблюдателя EvTimer
- EvPeriodic