Wie kann ich überwachen/verwalten Warteschlange in ZeroMQ?

Zunächst, ich bin neu in ZeroMQ und message-queue-Systeme, also, was ich versuche zu tun, kann gelöst werden durch einen anderen Ansatz. Ich bin entwerfen einer messaging-system, das das folgende tut:

  • Mehrere clients eine Verbindung zu einem broker und senden Sie die id eines Elements, das bearbeitet werden muss. Der client trennt die Verbindung sofort, und wartet nicht auf eine Antwort.
  • Den broker sendet Artikel an die Arbeitnehmer ein Stück pro Arbeiter, um einige der Verarbeitung. Jede Rückkehr ein signal liefert, dass die Verarbeitung abgeschlossen wurde.

Habe ich ein rudimentäres system-setup, die Bearbeitung von Anforderungen/Antworten korrekt, aber ich möchte auch in der Lage sein, Folgendes zu tun:

  • Abfrage der Makler, um zu sehen, wie viele Prozesse sind auf die Arbeitnehmerinnen und Arbeitnehmer und wie viele sind einfach noch nicht ausgeführt.
  • Haben die broker sicher, dass nur ein Prozess pro-id ausgeführt wird, - wenn eine doppelte id kommt und dass Artikel ist zurzeit nicht bearbeitet wird von einem Arbeiter, fügen Sie es nicht in die Warteschlange.

Bin ich mit einer Umfrage setup mit broker/dealer-buchsen. Der code, den ich verwende, ist sehr ähnlich zu dieses Beispiel von Ian Barber.

Meine erste Neigung (obwohl ich nicht sicher bin, wie es zu implementieren in der zmq) ist der broker verfolgen Sie die ids, die empfangen wurden, und diejenigen, die aktiv bearbeitet wird, die durch die Arbeiter. Es scheint, dass der Makler leitet Anforderungen an die Beschäftigten sofort, unabhängig davon, ob oder nicht Sie tatsächlich auszuführen, ist die Verarbeitung. Die Arbeiter dann die Warteschlange bis die ids und verarbeiten Sie in Ordnung. Dies ist nicht ideal, da bin ich auf der Suche, um in der Lage sein zu überwachen und zu Steuern, was geht in das system zentral zu erreichen Zuverlässigkeit.

Sowieso, irgendwelche Hinweise, Tipps oder Beispiele für diese Art der Installation würde sehr geschätzt werden.

InformationsquelleAutor der Frage jonstjohn | 2012-05-20

Schreibe einen Kommentar