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