Ich arbeite an einem Projekt, bei dem mehrere Mitarbeiter auf dieselbe Warteschlange zugreifen müssen, um Informationen über eine Datei zu erhalten, die sie bearbeiten werden. Die Größe der Dateien reicht von Megabyte bis Hunderten von Gigabyte. Aus diesem Grund scheint ein Zeitlimit für die Sichtbarkeit keinen Sinn zu ergeben, da ich nicht sicher sein kann, wie lange es dauern wird. Ich habe zwar ein paar Wege, aber wenn es einen besseren Weg gibt, lass es mich wissen.Wie kann verhindert werden, dass andere Mitarbeiter auf eine Nachricht zugreifen, die gerade bearbeitet wird?
Die Nachricht von der ursprünglichen Warteschlange gelöscht und in einen ‚warten‘ Warteschlange gestellt. Wenn das Programm die Verarbeitung der Datei beendet hat, löscht es es , andernfalls wird die Nachricht aus der Warteschlange gelöscht und zurück in die ursprüngliche Warteschlange.
Die Nachrichten-ID wird mit einer Datenbank überprüft. Wenn die Nachrichten-ID gefunden wird, wird sie ignoriert. Andernfalls beginnt das Programm mit der Verarbeitung der Nachricht und fügt die Nachrichten-ID in die Datenbank ein.
Vielen Dank im Voraus!