MJay

Celery 간단 요약 정리 2 본문

Cloud Computing

Celery 간단 요약 정리 2

MJSon 2017. 4. 9. 21:45
Celery는 distributed task queue이다. 

task queues은  threads 나 machine을 통해 task를 분산시키는 메커니즘이다.



이 task를 처리하는 것들은 worker라고 한다.

Worker는 웹서비스에서 뒷단의 작업을 처리하는 별도의 프레임이다.

여기서 task queue 역할을 하는게  broker이다.






task 모듈 작성( app) -> celery 서버를 가동 -> task 호출을 원하는 프로그램에서 task 모듈을 import하게 되면 task를 콜해준다.

Celery는 메세지로 소통을 한다. 클라이언트가 메세지를 task queue에 집어 넣으면 

broker라는 놈이 이 메세지를 worker로 가져간다






Python App + Celery 




Call task 하는 과정 

tasks를 불러와서 delay 즉 asynchronous를 요청하는 것이기 때문에 

이 process가 RabbitMq -Message Broker를 통해 Task Queue에 저장된다.




task에 대한 Celery 서버를 가동 시키면 worker들이 생성되고 

task queue에 담긴 작업들을 Worker가 가져간다고 보면된다.

여기서 worker 파라미터는 worker를 실행하라는 파라미터이고, -A는 앱(모듈)이름, --loglevel은 로그 레벨을 지정하는 파라미터이다. 위와 같이 celery 서버를 기동하면 front-ground로 실행이 되어 아래와 같은 화면이 출력되고 task 요청을 기다리는 상태가 된다.



app: 현재 서버로 가동한 app이름  및 ID
transport: 
concurrency - worker 프로세스 숫자  
result - 수행 결과










'Cloud Computing' 카테고리의 다른 글

CherryPick PPT 만들었습니다.  (0) 2017.05.10
What is overhead?  (0) 2017.05.06
Celery 간단 요약 정리 1  (0) 2017.04.09
Condor-annes vs Celery  (0) 2017.04.02
Celery  (0) 2017.04.01