(PECL ev >= 0.2.0)
EvStat monitora um caminho do sistema de arquivos para alterações de atributos. Ele chama stat() nesse caminho em intervalos regulares (ou quando o sistema operacional sinaliza que mudou) e vê se mudou em comparação com a última vez, invocando o retorno de chamada se isso aconteceu.
O caminho não precisa existir: mudar de “caminho existe” para “caminho
não existe” é uma mudança de status como qualquer outra. A condição "caminho não
existe" é representada pelo item
'nlink'
sendo 0 (retornado pelo
método
EvStat::attr()).
O caminho não deve terminar com uma barra nem conter componentes especiais como
'.'
ou
..
.
O caminho deve ser absoluto: se for relativo e o diretório de trabalho
mudar, o comportamento será indefinido.
Como não existe uma interface portátil de notificação de alterações disponível, a
implementação portátil simplesmente chama
stat()
regularmente no caminho para ver se ele mudou de alguma forma. Para este caso, um
intervalo de pesquisa recomendado pode ser especificado. Se for especificado um intervalo
de pesquisa de
0.0
(altamente recomendado), então um valor padrão adequado e não especificado será
usado (que pode ser esperado em torno de 5 segundos, embora isso possa
mudar dinamicamente).
libev
também imporá um intervalo mínimo que atualmente está em torno de
0.1
,
mas isso geralmente é um exagero.
Este tipo de observador não se destina a um grande número de observadores EvStat, pois mesmo com notificações de alteração suportadas pelo sistema operacional, isso pode consumir muitos recursos.
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
Somente leitura.
Uma dica sobre a rapidez com que uma mudança deve ser detectada e
normalmente deve ser especificada como
0.0
para permitir que
libev
escolha um valor adequado.
Somente leitura. O caminho para aguardar alterações de status.