epoll, kqueue, / dev / poll ... Erweiterungen für PHP

8

Gibt es eine PHP-Erweiterung (Stabilität ist irrelevant), die direkte polling-Funktionen von epoll, kqueue, / dev / poll erlaubt, ohne Libevent oder libev-Erweiterungen zu durchlaufen?

    
Nick 07.03.2012, 16:57
quelle

3 Antworten

2

Inotify

Sie geben nicht an, welche Architekturen von der Erweiterung unterstützt werden sollen. Aber wenn Linux nur eine Option ist, können Sie inotify verwenden, was:

  • scheint eine stabilere Erweiterung
  • zu haben
  • bietet ähnliche Funktionen.

php-inotifytools ist eine weitere mögliche Erweiterung.

Hier ist ein umfangreicher, in sich abgeschlossener Artikel , der zeigt, wie inotify funktioniert und wie benutzt man die C API.

Nach dem Fazit von Robert Loves Artikel: Introtifizieren , inotify hat eine sehr gute Leistung:

  

inotify ist ein einfaches, aber leistungsstarkes Dateiänderungs-Benachrichtigungssystem mit   eine intuitive Benutzeroberfläche, hervorragende Leistung, Unterstützung für viele   verschiedene Veranstaltungen und zahlreiche Features. inotify wird derzeit verwendet   verschiedene Projekte, darunter Beagle, eine erweiterte Desktop-Indexierung   System und Gamin, ein FAM Ersatz.

Robert Love ist ein angesehener Linux-Kernel-Hacker und Autor des Nachschlagewerks Linux-Kernel-Entwicklung (die ich zufällig besitze).

    
fons 14.02.2013 12:42
quelle
0

Im Moment wird Libevent die stabilste Sache sein, die Sie für PHP bekommen können. Es unterstützt epoll als Backend.

Es gibt auch eine experimentelle Erweiterung für libev . Es ist weniger stabil als das Libevent, hat aber eine schönere OO API.

    
igorw 05.07.2012 20:17
quelle
0

Es gibt eine PECL-Erweiterung mit den Klassen Event und EventBase , die mit mehreren Dingen und auch mit epoll arbeiten können.

Siehe: Ссылка

Entschuldigung, ich kann Ihnen kein anderes Beispiel geben, als Sie auf dem Link finden, weil ich noch nicht damit gearbeitet habe.

  

Die EventBase-Klasse repräsentiert die Event-Basisstruktur von libevent. Es hält   eine Menge von Ereignissen und kann abfragen, um festzustellen, welche Ereignisse aktiv sind.

     

Jede Ereignisbasis verfügt über eine Methode oder ein Back-End, das zur Bestimmung verwendet wird   Welche Ereignisse sind bereit? Die anerkannten Methoden sind: Auswählen, Abfragen,   epoll, kqueue, devpoll, evport und win32.

     

Konfigurieren der zu verwendenden Ereignisbasis oder Vermeiden spezifischer Back-End-EventConfig   Klasse kann verwendet werden.

    
DanFromGermany 28.02.2014 10:51
quelle

Tags und Links