Mailqueue: Abarbeitung entspricht nicht einer Queue
Die Mailqueue arbeitet nicht wie eine richtige Queue (Warteschlange).
Von einer Warteschlange würde ich erwarten, dass der erste hinzugefügte Eintrag auch als erstes bearbeitet wird (First in, First Out; FIFO).
Es gibt damit folgende Probleme:
-
Die send()
-Methode der Mailqueue liest die zu versendenden Mails in beliebiger (nicht definierter) Reihenfolge aus.
Hier sollte nach dem Erstellungsdatum aufsteigend vorgegangen werden. -
Außerdem muss geprüft werden, ob neu zu versendende Mails direkt verschickt werden, oder erst durch die Queue müssen.
Nach dem allgemeinen Verständnis einer Warteschlange, sollten neue Mails so lange warten müssen, bis sie an der Reihe sind - die Queue also abgearbeitet wurde.