Probleme mit Sellerie & Redis Backend

Ich habe ein system eingerichtet, die derzeit mit Sellerie-mit redis
backend tun eine Menge asynchrone Aufgaben wie das versenden von E-Mails,
ziehen soziale Daten, krabbeln,etc. Alles funktioniert Super, aber ich
bin mit der Gruppe herauszufinden, wie das system überwachen (aka die Anzahl
der queue-up-Meldungen). Ich begann, mich durch den Sellerie Quelle aber
Ich dachte, ich würde post meine Fragen hier:
First off, hier sind meine Konfigurationen:

BROKER_BACKEND                  = "redis" 
BROKER_HOST                     = "localhost" 
BROKER_PORT                     = 6379 
BROKER_VHOST                    = "1" 
REDIS_CONNECT_RETRY     = True 
REDIS_HOST                              = "localhost" 
REDIS_PORT                              = 6379 
REDIS_DB                                = "0" 
CELERY_SEND_EVENTS                      = True 
CELERYD_LOG_LEVEL               = 'INFO' 
CELERY_RESULT_BACKEND           = "redis" 
CELERY_TASK_RESULT_EXPIRES      = 25 
CELERYD_CONCURRENCY             = 8 
CELERYD_MAX_TASKS_PER_CHILD = 10 
CELERY_ALWAYS_EAGER                     =True

Das erste, was ich versuche zu tun ist, um zu überwachen, wie viele Nachrichten sind in
meine Warteschlange. Ich nehme an, hinter den kulissen, die redis backend ist nur
drücken/knallen aus einer Liste, obwohl ich kann nicht scheinen zu finden, dass in
die code. Also ich mock-up-simulation, wo ich anfangen über 100 Aufgaben und
bin auf der Suche nach Ihnen in redis:
Meine celeryd läuft so:
python manage.py celeryd -c 4 --loglevel=DEBUG -n XXXXX --logfile=log/
Sellerie.melden
Also ich sollte nur 4 gleichzeitige Arbeiter auf einmal .....
Zwei Sache die ich nicht verstehe:
Problem 1:
Nachdem ich in der Warteschlange bis 100 Aufgabe, und suchen Sie Sie auf redis, ich nur
finden Sie unter den folgenden:

$ redis-cli 
redis 127.0.0.1:6379> keys * 
1) "_kombu.binding.celery" 
redis 127.0.0.1:6379> select 1 
OK 
redis 127.0.0.1:6379[1]> keys * 
1) "_kombu.binding.celery" 
2) "_kombu.binding.celeryd.pidbox" 
redis 127.0.0.1:6379[1]>

Ich kann nicht scheinen zu finden, die Aufgaben zu erhalten, eine Anzahl, wie viele sind in der Warteschlange
(technisch, 96 sollte sein, da ich nur 4 gleichzeitige Aufgaben)

Problem 2

$ ps aux | grep celeryd | cut -c 13-120 
 41258   0.2  0.2  2526232   9440 s004  S+    2:27PM   0:07.35 python 
manage.py celeryd -c 4 --loglevel=DEBU 
 41261   0.0  0.1  2458320   2468 s004  S+    2:27PM   0:00.09 python 
manage.py celeryd -c 4 --loglevel=DEBU 
 38457   0.0  0.8  2559848  34672 s004  T    12:34PM   0:18.59 python 
manage.py celeryd -c 4 --loglevel=INFO 
 38449   0.0  0.9  2517244  36752 s004  T    12:34PM   0:35.72 python 
manage.py celeryd -c 4 --loglevel=INFO 
 38443   0.0  0.2  2524136   6456 s004  T    12:34PM   0:10.15 python 
manage.py celeryd -c 4 --loglevel=INFO 
 84542   0.0  0.0  2460112      4 s000  T    27Jan12   0:00.74 python 
manage.py celeryd -c 4 --loglevel=INFO 
 84536   0.0  0.0  2506728      4 s000  T    27Jan12   0:00.51 python 
manage.py celeryd -c 4 --loglevel=INFO 
 41485   0.0  0.0  2435120    564 s000  S+    2:54PM   0:00.00 grep 
celeryd 
 41264   0.0  0.1  2458320   2480 s004  S+    2:27PM   0:00.09 python 
manage.py celeryd -c 4 --loglevel=DEBU 
 41263   0.0  0.1  2458320   2480 s004  S+    2:27PM   0:00.09 python 
manage.py celeryd -c 4 --loglevel=DEBU 
 41262   0.0  0.1  2458320   2480 s004  S+    2:27PM   0:00.09 python 
manage.py celeryd -c 4 --loglevel=DEBU 

Wenn jemand erklären könnte, für mich wäre es toll.

InformationsquelleAutor josephmisiti | 2012-02-08
Schreibe einen Kommentar