(PECL ev >= 0.2.0)
Les watchers EvIdle lancent les Ă©vĂ©nements lorsqu'aucun autre Ă©vĂ©nement ayant la mĂȘme (ou supĂ©rieure) prioritĂ© n'est en attente (EvPrepare, EvCheck et d'autres watchers EvIdle ne comptent pas recevoir d'Ă©vĂ©nements).
Aussi, tant que le processus est en cours de gestion des sockets ou des dĂ©lais d'attente maximal (ou mĂȘme de signaux) de mĂȘme prioritĂ© (ou de prioritĂ© supĂ©rieure), il ne sera pas lancĂ©. Mais lorsque le processus est au ralenti (ou que seuls des watchers ayant une prioritĂ© basse ne sont en attente), les watchers EvIdle seront appelĂ©s une fois par itĂ©ration de la boucle d'Ă©vĂ©nements - et ce, tant qu'ils ne sont pas stoppĂ©s, ou que le processus ne reçoive plus d'Ă©vĂ©nements et devienne ainsi occupĂ© Ă gĂ©rer les travaux ayant une prioritĂ© supĂ©rieure.
En plus de maintenir le processus non bloquant (ce qui est utile parfois), les watchers EvIdle sont un bon endroit pour réaliser des "travaux en pseudo-arriÚre plan", ou remettre des travaux aprÚs que la boucle d'événements n'ait géré les événements exceptionnels.
L'effet le plus notable est que, tant que des watchers idle sont actifs, le processus ne va pas bloquer lors de l'attente de nouveaux événements.
$callback
,
mixed $data
= ?,
int $priority
= ?): object