2013-08-19 4 views
5

Kann mir jemand sagen, ob Sellerie eine Aufgabe in einem Thread oder in einem separaten Kindprozess ausführt? Die Dokumentation scheint es nicht zu erklären (lese es 3 mal). Wenn es ein Thread ist, wie kommt es an der GIL vorbei (besonders wen und wie ein Ereignis gemeldet wird)?Ist Sellerie Apply_async Thread oder Prozess?

Wie würden Sie Sellerie async mit Twisted-Reaktormodell vergleichen? Ist Sellerie doch ein Reaktormodell?

Danke,

Antwort

2

-c und -P sind die Gleichzeitigkeit bezogene Optionen für Sellerie Arbeiter.

 
    -c CONCURRENCY, --concurrency=CONCURRENCY 
         Number of child processes processing the queue. The 
         default is the number of CPUs available on your 
         system. 
    -P POOL_CLS, --pool=POOL_CLS 
         Pool implementation: processes (default), eventlet, 
         gevent, solo or threads. 

mit eventlet: http://docs.celeryproject.org/en/latest/userguide/concurrency/eventlet.html#enabling-eventlet

http://docs.celeryproject.org/en/latest/internals/reference/celery.concurrency.processes.html

3

Kann mir jemand sagen, ob Sellerie, eine Aufgabe in einem Thread oder in einem Prozess separaten Kind ausführt?

Die Aufgabe wird auch nicht in einem separaten Prozess ausgeführt, möglicherweise auf einer anderen Maschine. Es ist kein untergeordneter Prozess des Threads, in dem Sie "Verzögerung" nennen. Die Optionen -C und -P steuern, wie der Arbeitsprozess sein eigenes Threading verwaltet. Die Arbeitsprozesse erhalten Aufgaben über einen Nachrichtendienst, der auch völlig unabhängig ist.

Wie würden Sie Selleries Async mit Twisted's Reaktormodell vergleichen? Ist Sellerie mit Reaktormodell immerhin?

Verdreht ist eine Ereigniswarteschlange. Es ist asynchron, aber es ist nicht für die parallele Verarbeitung ausgelegt.

Verwandte Themen