Ich plane, ein Modul zur asynchronen Dateigenerierung in meiner Anwendung mithilfe einer Nachrichtenwarteschlange (RabbitMQ) zu implementieren. Wenn Benutzer Daten über eine Webanwendungsbenutzeroberfläche eingeben, werden die Daten in den MQ eingegeben. Die Daten enthalten auch die ID des anfragenden Benutzers. Es gibt eine Worker-Anwendung, die die Warteschlange abfragt. Der Worker entfernt ein Element aus der Warteschlange, verarbeitet den Datensatz, erstellt als Ergebnis eine Datei und speichert die Datei in der Datenbank. Meine Forderung ist, dass ich ein Raster für den Benutzer angezeigt werden soll, der den Status aller Anfragen die sie gemacht haben, wie in der folgenden Tabelle dargestelltWie kann ich den Status eines Elements in einer Nachrichtenwarteschlange melden?
----------------------------
Report Name | Status
----------------------------
Report 1 | Not Started
Report 2 | Completed
----------------------------
Alle Einzelteile noch im MQ sollte den Status als "zeigen Nicht gestartet '. Theoretisch würde dies dazu führen, dass ich alle Nachrichten in der MQ abfrage, wobei Benutzer-ID = aktuelle Benutzer-ID ist. Ich denke, es ist nicht sehr effizient, alle Nachrichten von MQ zu sehen, anders als in einer SQL-Tabelle. Grundsätzlich suche ich nach verschiedenen/besseren Optionen, um dies aus Sicht des Designs/der Architektur so gut wie möglich zu handhaben.