2014-04-15 3 views
5

셀레 -Django를 사용하여 내 사이트 백엔드에서 작업 대기열에 있습니다. "낮은"및 "높음"이라는 두 개의 대기열과 두 명의 작업자 W1 및 W2가있는 설치 프로그램을 만들려고합니다. 내가 그들에게 다음과 같은 방법으로 대기열에서 작업을 소비 할 :샐러리 django 데몬에서 다중 작업자 및 다중 대기열

W1 < - 낮은, 높은이

W2 < - 높은 일반적으로

가 같이 할 수 있습니다 이.

열기 터미널 1과 $ celery worker -n W1 -Q low,high

열기 단자 2 입력하고 Enter를 $ celery worker -n W2 -Q high

그러나 나는 celeryd 데몬를 통해 동일한 작업을 수행하려합니다.

다음 링크의 단계를 따르고 있습니다. http://celery.readthedocs.org/en/latest/tutorials/daemonizing.html#example-configuration 그러나 사용 가능한 옵션이 요구 사항에 맞지 않습니다.

어떤 설정이 도움이되는지 알려지지 않은 경우 도와주세요. 나는 꼭 필요한 경우가 아니라면 여러 개의 데몬을 실행하지 않거나 감독관과 같은 추가 도구를 사용하지 않기를 바란다.

답변

9

당신은 Celery reference에서 그 예와 유사 -Q 매개 변수를 전달 CELERYD_OPTS 옵션을 사용할 수 있습니다 : 당신은 인수를 CELERYD_OPTS 할 노드 이름을 CELERY_NODES에 여러 노드를 지정하고 전달할 수

# 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. 
$ celery multi start 10 -l INFO -Q:1-3 images,video -Q:4,5 data 
    -Q default -L:4,5 DEBUG 

# You can show the commands necessary to start the workers with 
# the 'show' command: 
$ celery multi show 10 -l INFO -Q:1-3 images,video -Q:4,5 data 
    -Q default -L:4,5 DEBUG 
+0

고마워 ... 문서화되어있다. :) – rohan

+1

'-c 4 '대신에'CELERYD_NODES = "w1 w2 w3 w4 w5"'와 같은 노드 이름을' -Q : 1-3'? – dashesy

4

, 예를 들면 :

CELERY_NODES="W1 W2" 
CELERYD_OPTS="-Q:W1 low,high -Q:W2 high"