Rechercher une fonction PHP

La classe EvPeriodic

(PECL ev >= 0.2.0)

Introduction

Les watchers périodiques sont des sortes de minuteurs, mais ils sont très polyvalents.

Contrairement à EvTimer, les watchers EvPeriodic ne sont pas basés sur un temps réel (ou un temps relatif, le temps physique qui passe), mais sur un temps d'horloge (temps absolu, calendaire, ou d'horloge). La différence est qu'un temps d'horloge peut être plus rapide ou plus lent qu'un temps réel, et les sauts dans le temps ne sont pas rares (i.e. lors d'un ajustement).

Un watcher EvPeriodic peut être configuré pour être lancé après des points spécifiques dans le temps. Par exemple, si un watcher EvPeriodic est configuré pour se lancer "dans 10 secondes" (i.e. EvLoop::now() + 10.0, i.e. un temps absolu, et non un délai), et que l'horloge système est ré-initialisée à Janvier de l'année dernière, alors cela prendra une année et plus à lancer l'événement (contrairement à EvTimer qui sera lancé 10 secondes après son démarrage, sachant qu'il utilise un délai maximal d'attente relatif).

Comme pour les minuteurs, il est garantie que la fonction de rappel soit appelée uniquement lorsque le point dans le temps où il est supposé se lancer ne soit passé. Si plusieurs minuteurs deviennent prêts en même temps pendant la même itération de boucle, alors ceux dont les valeurs de délai maximal d'attente sont les plus proches seront appelées avant ceux qui ont des valeurs de délai maximal d'attente plus éloignés (mais ceci n'est plus vrai lorsqu'une fonction de rappel appelle récursivement la méthode EvLoop::run()).

Retour à la première page de Manuel PHP  Table des matières Haut

Synopsis de la classe

EvPeriodic extends EvWatcher {
/* Propriétés */
public $offset ;
public $interval ;
/* Propriétés héritées */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Méthodes */
public again ( void ) : void
public at ( void ) : float
public __construct ( float $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static createStopped ( float $offset , float $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvPeriodic
public set ( float $offset , float $interval ) : void
/* Méthodes héritées */
public EvWatcher::clear ( void ) : int
abstract public EvWatcher::__construct ( void )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( void ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ([ bool $value ] ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( void ) : void
public EvWatcher::stop ( void ) : void
}

Retour à la première page de Manuel PHP  Table des matières Haut

Propriétés

offset

Lors de la répétition, va contenir la valeur de la position, sinon, ce sera le point absolu dans le temps (la valeur de la position passée à la méthode EvPeriodic::set(), bien que libev peut modifier cette valeur pour une meilleure stabilité numérique).

interval

La valeur de l'intervalle courant. Peut être modifié à tout moment, mais les modifications ne prennent effet que lorsque le minuteur périodique ne se lance, ou lorsque la méthode EvPeriodic::again() est appelée.

Retour à la première page de Manuel PHP  Table des matières Haut

Sommaire

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.evperiodic.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut