Frage

würden Sie mit beanstalkd empfehlen [ http://kr.github.com/beanstalkd/ ] für

asynchrone Verarbeitung in PHP?

Ich brauche ein paar Feedback / Kommentare Vor-Nachteile, von jemandem, der diese lib benutzt hat.

Danke,

War es hilfreich?

Lösung

Ich habe Bohnenstange in der Produktion verwendet, und auch beim Testen wirft Millionen von einfachen Botschaften durch sie - in der Regel en-Masse, aber das Produktionssystem hatte über eine 100.000 Aufgaben durch setzen, bis ich das Unternehmen verlassen. Es kann noch ausgeführt werden, wobei in diesem Fall wäre es zig Millionen sein jetzt sein -. Oder mehr, wenn sie verlängert hatte es weiter die Nutzung, wie ich geplant hatte

Ich würde es empfehlen, da es eine Reihe von ausgezeichneten Punkten ist.

  • können genannt Rohre verwendet werden, die Arbeitsplätze geliefert zu begrenzen. Ich sehe ein Rohr auf der Maschine Hostnamen basiert, die begrenzt, in dem ein Arbeiter würde laufen -. Nützlich für hochgeladene Dateien, die nur auf einem bestimmten Server gespeichert werden)
  • können die Verzögerungen verwendet werden, um zukünftige Ereignisse zu setzen
  • Die neuesten Versionen des Servers auch ist-Protokollierung unterstützen, Ausdauer zu geben, selbst wenn es mir nie abgestürzt ist.

Meine erste Aufgabe, die ich durch ihn gestellt war Bildverarbeitung - und außerhalb eines Apache / mod_php Prozess, dass die Arbeit tun mir erlaubt, größere Bilder, um die Größe, ohne den Server zu beeinflussen (Blasen der Webserver out). Mit einer leicht belasteten Warteschlange, hatte es die Thumbnails erstellt, bevor die Seite nach dem Upload aktualisiert hatte.

Es gibt viele andere mögliche Aufgaben, die auch asynchron verarbeitet werden können.

Die einzigen Probleme, die ich je hatte sicher machte, dass die ohne Zwischenfälle abgeschlossen Arbeitnehmer - oder dass etwaige Fehler gefangen wurden, so dass der Job ‚bury'ed werden können, wodurch sichergestellt wird, dass der Auftrag nicht zurück in die Warteschlange gestellt wurde wird erneut aus (und den Arbeiter Absturz hat wieder).

neu starten, um die Arbeiter zu haben auch klare Erinnerung auch nützlich sein kann als PHP weniger gut geeignet ist, um lang laufende Prozesse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top