2013-02-27 6 views
15

In der Dokumentation für celeryd-Multi, finden wir folgendes Beispiel:In Sellerie, was wäre der Zweck, mehrere Arbeiter die gleiche Warteschlange verarbeiten zu lassen?

# Advanced example starting 10 workers in the background: 
# * Three of the workers processes the images and video queue 
# * Two of the workers processes the data queue with loglevel DEBUG 
# * the rest processes the default' queue. 
$ celeryd-multi start 10 -l INFO -Q:1-3 images,video -Q:4,5 data 
    -Q default -L:4,5 DEBUG 

(Von hier aus: http://docs.celeryproject.org/en/latest/reference/celery.bin.celeryd_multi.html#examples)

Was ein praktisches Beispiel wäre, warum es gut wäre, mehr als ein Arbeiter zu haben auf einem einzigen Host die gleiche Warteschlange wie im obigen Beispiel? Ist das nicht die Einstellung für die Nebenläufigkeit?

Genauer gesagt, gäbe es keinen praktischen Unterschied zwischen den beiden folgenden Zeilen (A und B) ?:

A:

$ celeryd-multi start 10 -c 2 -Q data 

B:

$ celeryd-multi start 1 -c 20 -Q data 

Ich bin besorgt dass mir etwas wertvolles Wissen über Aufgabenwarteschlangen fehlt, weil ich diesen praktischen Unterschied nicht verstehe, und ich würde es sehr schätzen, wenn mich jemand aufklären könnte.

Danke!

Antwort

8

Was ein praktisches Beispiel dafür, warum es wäre gut, wäre die gleiche Warteschlange mehr als ein Arbeiter auf einem einzigen Host-Prozess zu haben, wie in den obigen Beispiel ?

Antwort:

So, möchten Sie vielleicht mehrere Worker-Instanzen auf demselben Rechner Knoten ausgeführt werden, wenn:

  • Sie das Multiprocessing-Pool verwenden und verbrauchen Nachrichten parallel. Einige berichten über eine bessere Leistung, wenn mehrere Worker Instanzen verwendet werden, anstatt eine einzelne Instanz mit vielen Pool- Worker auszuführen.

  • Sie verwenden das Eventlet/Gevent (und aufgrund des berüchtigten GIL, auch der 'Threads') Pool, und Sie möchten Aufgaben auf mehreren CPU Kernen ausführen.

Referenz: http://www.quora.com/Celery-distributed-task-queue/What-is-the-difference-between-workers-and-processes

Verwandte Themen