*관련 포스팅 내용

Celery + RabbitMQ + Django 참조사이트 : http://ngee.tistory.com/540

Celery + RabbitMQ + Django 연계 1        : http://ngee.tistory.com/542

Celery + RabbitMQ + Django 연계 2        : http://ngee.tistory.com/548

Celery + RabbitMQ + Django 연계 3        : http://ngee.tistory.com/549

Celery Args                                                : http://ngee.tistory.com/550

Celery Worker                                           : http://ngee.tistory.com/563

Celery Worker2                                         : http://ngee.tistory.com/564
Celery Logging                                          : http://ngee.tistory.com/567
Celery Flower                                            : http://ngee.tistory.com/566
Celery Return Value                                  : http://ngee.tistory.com/580


이전 Celery Worker1 포스팅에서  Celeryd를 데몬으로 등록하는 것에 대해서 간단하게 정리했구요.

이번에는 Worker를 생성하는 옵션들에 대해서 몇 가지만 테스트해보고, RabbitMQ에서 Worker가 일을 하는지 안하는지 Queue를 확인해보죠.




1. Worker 옵션


이전 포스팅에서 CELERYD_OPTS="--time-limit=300 --concurrency=8" 와 같은 옵션을 사용했는데요.


--time-limit 옵션은 하나의 Task가 수행될 수 있는 시간을 의미합니다. 이 시간을 넘기면 Task는 Kill 되네요.

즉 300이라는 값을 주었기 때문에 Task 하나가 Worker에 의해서 처리될 수 있는 시간이 5분(300초)이라는 것입니다.


--concurrency 옵션은 Worker의 쓰레드나 프로세서의 수 정도로 이해하면 될 것 같다(정확하지 않아요ㅠ).

어찌대뜬 서버의 CPU 성능도 고려해야 할 것 같고, Task가 처리하는 내용도 고려해서 적절한 수를 주는 것이 좋겠다.

정해진 답은 없는 것 같고, 많은 테스트를 통해서 적절한 수를 찾는 것이 필요할 것 같다.


더 많은 옵션들이 존재합니다. 몇 가지 제가 관심있는 것만 추가해보면 아래와 같습니다. 


--autoscale=10,3 ...... 기본적으로 3개의 concurrency 값을 사용하나, 사용이 몰리면 10개까지 자동으로 증가하도록 설정하는 옵션

-Q qname1, qname2 .... -Q 옵션은 메세지 큐를 지정하는 데 사용하는 것으로 보인다.



2. Worker가 잘 일하는지 확인해보기


http://rabbitMQ가_설치된_서버_IPAddress:15672/#/queues 로 이동해보면 Celery에서 기본적으로 사용하는 queue가 하나 보입니다.

celery라고 말이죠. 그것을 클릭해보면 다음과 같습니다.


worker에서 여러 task를 처리하고 있을 때...

  

Queue에 쌓여있는 Messages를 Worker가 처리하고 있습니다 ㅎ



'파이썬(python2.7) > Django&REST' 카테고리의 다른 글

Celery Return Value (Ready and Get function)  (0) 2015.01.26
Celery Flower install and access  (0) 2015.01.20
Celery Logging  (0) 2015.01.20
Celery Worker 2  (0) 2015.01.18
Celery Worker 1  (0) 2015.01.18
Celery Args  (0) 2015.01.10
Celery + RabbitMQ + Django 연계 3  (0) 2015.01.10
Celery + RabbitMQ + Django 연계 2  (0) 2015.01.10

+ Recent posts