(PECL ev >= 0.2.0)
Os observadores periódicos também são uma espécie de cronômetros, mas são muito versáteis.
Ao contrário do EvTimer, os observadores EvPeriodic não são baseados em tempo real (ou tempo relativo, o tempo físico que passa), mas no tempo do relógio de parede (tempo absoluto, calendário ou relógio). A diferença é que o tempo do relógio de parede pode ser mais rápido ou mais lento que o tempo real, e os saltos no tempo não são incomuns (por exemplo, ao ajustá-lo).
    O observador EvPeriodic p
    ode ser configurado para ser acionado após algum momento específico.
    Por exemplo, se um
    observador EvPeriodic
    estiver configurado para acionar
    "em 10 segundos"
    (por exemplo,
    EvLoop::now()
    +
    10.0,
    ou seja, um tempo absoluto, não um atraso), e o relógio do sistema for redefinido para
    janeiro do ano anterior,
    então levará um ano ou mais para acionar o evento (diferentemente de um
    EvTimer,
    que ainda seria acionado aproximadamente
    10
    segundos após iniciá-lo, pois usa um tempo limite relativo).
   
Assim como com os temporizadores, é garantido que o retorno de chamada seja invocado somente quando o momento em que ele deveria ser acionado tiver passado. Se vários temporizadores ficarem prontos durante a mesma iteração do laço, então aqueles com valores de tempo limite anteriores serão invocados antes daqueles com valores de tempo limite posteriores (mas isso não é mais verdade quando um retorno de chamada chama EvLoop::run() recursivamente).
$offset
   ,$interval
   ,$reschedule_cb
   ,$callback
   ,$data
     = null
   ,$priority
     = 0
   $offset
   ,$interval
   ,$reschedule_cb
   ,$callback
   ,$data
     = null
   ,$priority
     = 0
   Ao repetir, contém o valor de deslocamento, caso contrário, este é o ponto absoluto no tempo (o valor de deslocamento passado para EvPeriodic::set(), embora libev possa modificar este valor para melhor estabilidade numérica).
O valor do intervalo atual. Pode ser modificado a qualquer momento, mas as alterações só terão efeito quando o cronômetro periódico for acionado ou EvPeriodic::again() estiver sendo chamado.
