2017-09-10 5 views
0

Ich habe eine Reihe von Resque-Warteschlangen, geordnet nach Priorität. Für alle Jobs in der Warteschlange mit der niedrigsten Priorität haben sie keine Argumente, und ein späterer Lauf ersetzt alle vorherigen Läufe, z. Sie synchronisieren Daten mit einem externen Dienst. Es macht also keinen Sinn, ein Backlog mit mehreren Kopien dieser Jobs zu erstellen - wenn Sie es dreimal hintereinander ausführen, wird kein Wert hinzugefügt.Resque: keine redundanten Jobs in die Warteschlange stellen?

Aber in Zeiten mit hohem Arbeitsaufkommen erhalten wir einen Rückstand (nur in dieser Warteschlange), da die Mitarbeiter mit Jobs mit höherer Priorität beschäftigt sind.

Kann ich diesen Rückstand verhindern, indem Sie verhindern, dass redundante Jobs überhaupt in die Warteschlange eingereiht werden?

+0

Um den Rückstand zu vermeiden, müssen Sie zuerst irgendwie verfolgen, dass der gleiche Job bereits in die Warteschlange gestellt wurde. Da resque & redis standardmäßig keine solche Funktionalität der Eindeutigkeit bietet. –

Antwort

Verwandte Themen