*관련 포스팅 내용

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 + RabbitMQ + Django 연계에 대해서 작성했고, 이것들을 기반으로 간단한 확인을 해보고자합니다.


일단은 아래와 같은 구조를 가정하겠습니다.


A Server 

 - Django

 - Celery

 - RabbitMQ


B Server 

 - Djnago

 - Celery

 - Celery Worker


여기서 A 서버에 어떤 사용자 요청이 들어와서 Celery를 통해 처리하는 경우 변수를 A Server에서 B Server로 전달해야 합니다.

전달 할 때 특별한 방법이 필요한걸까? 이것이 저의 궁금한 점이였고 


결론은 없다! 입니다.

그냥 파이썬 함수 쓰는 것과 동일하게 변수들을 전달하시면 됩니다.


예로 A Server에서 ttt Task를 처리하도록 하는 소스코드가 있을 때


@shared_task

def ttt(bbArgs):

  print bbArgs["test"]


ttt Task를 호출하는 소스는 아래와 같겠죠.


bbArgs = {}

bbArgs["test"] = "arg Test"

tasks.ttt.delay(bbArgs)

실행결과는 arg Test가 출력될 것입니다.

Celery + RabbitMQ를 사용함으로써 별다른 어려움없이
A Server에서 B Server의 Worker에 변수 전달 및 처리를 수행할 수 있다는 점이 장점인거 같습니다.


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

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
Celery + RabbitMQ + Django 연계 1  (1) 2015.01.08
Celery + RabbitMQ + Django 참조사이트  (0) 2015.01.08

+ Recent posts