Findest du das rumfrickeln in einer Queue nicht etwas umständlich?
Ein Auftrag könnte/sollte doch vor Ausführung prüfen, ob er noch valide ist.
Das Löschen ist problematisch bei den Aufträgen, die gerade für die Prozessierung entnommen, aber noch nicht (ganz) ausgeführt wurden. Sind sie (noch) gültig oder (schon) ungültig?
Diese Frage wird sich natürlich während der Ausführung immer wieder stellen, aber die Definition ist dann einfacher.
Es ist kniffelig zu beschreiben, das zum Zeitpunkt X alle Aufträge mit einer bestimmten (nun ungültigen) Eigenschaft aus der Queue zu löschen sind und die, die gerade entommen wurden, auch, aber die die schon teilweise ausgeführt werden, nicht.
Einfacher ist es
imho so:
"Vor der Durchführung prüft der Auftrag, ob alle Startbedingungen erfüllt sind und führt den Auftrag aus".