Sellerie: Wie die Anzahl der Aufgaben in der Warteschlange zu begrenzen und die Fütterung zu beenden, wenn sie voll ist?

8

Ich bin Sellerie sehr neu und hier ist die Frage, die ich habe:

Angenommen, ich habe ein Skript, das ständig neue Daten aus der Datenbank holen und mit Sellerie an die Mitarbeiter senden soll.

tasks.py

%Vor%

fetch_db.py

%Vor%

Hier ist mein Anliegen: Die Daten werden alle 30 Sekunden abgerufen. Die Funktion process_data () könnte viel länger dauern und abhängig von der Anzahl der Worker (besonders wenn zu wenig) könnte die Warteschlange gedrosselt werden, wie ich es verstehe.

  1. Ich kann die Anzahl der Arbeiter nicht erhöhen.
  2. Ich kann den Code ändern, um die Warteschlange nicht zu füllen, wenn sie voll ist.

Die Frage ist, wie setze ich die Größe der Warteschlange und woher weiß ich, dass sie voll ist? Im Allgemeinen, wie man mit dieser Situation umgeht?

    
jazzblue 05.02.2016, 19:09
quelle

1 Antwort

6

Sie können rabbitmq x-max-length in der Warteschlange festlegen, indem Sie kombu

Beispiel:

%Vor%

oder Richtlinien

%Vor%     
faisal burhanudin 10.02.2016, 08:05
quelle