(PECL ev >= 0.2.0)
EvStat наблюдает за изменением аттрибутов объект по заданному пути в файловой системе. Это достигается путем регулярного запуска stat() для этого пути (либо путем получения сигнала об изменении от операционной системы) и сравнение полученных данных с результатами предыдущего вызова. В случае обнаружения изменения аттрибутов вызывается callback-функция.
Путь не обязательно должден существовать в действительности. Изменение
статуса с "путь существует" на "путь не существует" - это такое же изменение,
как и любое другое. Состояние "путь не существует" определяется по значению
'nlink'
равным 0 (которое возвращается методом
EvStat::attr()).
Путь не должен оканчиваться слешем или содержать специальные
компонеты, такие как '.'
или
..
.
Путь должен быть абсолютным. Если задать относительный путь и сменить
рабочий каталог, то поведение будет неопределенным.
Так как нет переносимого интерфейса оповещения об изменениях,
переносимая реализация просто вызывает stat()
через равные промежутки времени и смотрит, не изменилось ли чего.
Поэтому рекомендуется задавать интервал опроса. Если интервал
опроса задан равным 0.0
(что крайне рекомендуется),
то будет использоваться значение по умолчанию (которого никто не знает, но
предполагается, что где-то около 5 секунд, но при этом может динамически
меняться).
libev имеет ограничение на минимальное значение
интервала, которое сейчас равно приблизительно 0.1
,
но такой интервал - это стрельба из пушки по воробьям.
Не рекомендуется использовать большоре количество одновременно работающих наблюдателей EvStat, так как это может сильно повлиять на потребление ресурсов в связи с использованием механизмов оповещения операционной системы.
$path
,
float
$interval
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] )$path
,
float
$interval
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] ) : void
Только чтение.
Показывает, насколько часто происходят опросы статуса и обычно равно
0.0
, что позволяет
libev самостоятельно определять интервал.
Только чтение. Путь, для которого отслеживаются изменения.