Mit RabbitMQ gibt es eine Möglichkeit zu schauen, queue-Inhalte ohne eine dequeue?
Als ein Weg, um zu lernen, RabbitMQ und python ich arbeite an einem Projekt, das mir erlaubt, zu verteilen, h264 kodiert, die zwischen einer Anzahl von Computern. Die Grundlagen sind getan, ich habe einen daemon, der läuft auf Linux oder Mac, die an die Warteschlange akzeptiert Druckaufträge und kodiert Sie mit HandBrakeCLI und Bestätigungen der Nachricht, sobald die Codierung abgeschlossen ist. Ich habe auch gebaut, ein einfaches Werkzeug zum schieben von Objekten in die Warteschlange.
Möchte ich nun erweitern Sie die Funktionen des Werkzeug drückt, dass Elemente in die Warteschlange, so dass ich kann sehen, was in der Warteschlange ist. Ich bin mir bewusst, der Möglichkeit zu sehen, wie viele Elemente sich in der Warteschlange, aber ich möchte in der Lage sein zu Holen Sie sich die aktuellen Nachrichten, so kann ich zeigen, was Film oder TV-show wartet kodiert werden, noch. Die Idee ist, dass der queue-manager Nachrichten empfangen, die von dem encoder Kunden, wenn ein job abgeschlossen ist, und aktualisieren Sie dann die Liste.
Ich weiß, es gibt einen gewundenen Weg, um die queue-manager-Liste in sync mit der eigentlichen Arbeit, Warteschlange, aber ich würde dies gerne zu den "persistent" -, dass ich sollte in der Lage sein, um das schließen der queue-manager und öffnen Sie es später in der Warteschlange.
InformationsquelleAutor der Frage Dustin | 2011-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warteschlange surfen ist nicht direkt unterstützt, aber wenn Sie erklären, eine queue mit NICHT automatische Anerkennungen und nicht-ACK-Nachrichten, die Sie erhalten, dann können Sie alles sehen. Nachdem Sie hatte einen Blick, senden Sie ABBRECHEN auf dem Kanal, oder die Verbindung zu trennen und erneut anschließen, um zu verursachen, alle Nachrichten werden requeued. Dies bedeutet Inkrementieren einer Zahl im Header der Nachricht, aber ansonsten lässt die Nachrichten unberührt.
Baute ich eine app, wo die Nachricht, die Bestellung war nicht sehr wichtig, und ich Häufig durch gescannt der Warteschlange auf diese Weise. Wenn ich ein problem gefunden, würde ich dump die Nachrichten in einer Datei, beheben und erneut einzureichen.
Wenn Sie nur Blick auf eine Nachricht oder zwei, einmal in eine Weile Sie tun können, dass mit dem RabbitMQ-management-plugin.
Darüber hinaus, wenn Sie müssen nur eine Nachricht zu zählen, die Sie bekommen können, dass jedes mal, wenn Sie erklären, die Warteschlange, oder auf ein basic.get-Befehl.
InformationsquelleAutor der Antwort Michael Dillon
@MichaelDillon basierend auf Ihre Antwort, um anderen das Leben einfacher, ich Stelle hier eine no_ack Beispiel:
InformationsquelleAutor der Antwort Tomasz
Was Sie tun möchten, ist aufgerufen, surfen der Warteschlange, obwohl ich entnehme diesedass RabbitMQ noch nicht unterstützt.
InformationsquelleAutor der Antwort Lee at NCR