비동기 작업 큐(queue)를 python에서 활용할 수 있는 celery를 소개한다. 웹서버가 처리하기엔 무거운 연산(e.g. pdf 변환, 과학적 계산 프로세스 등)을 그냥 서버에 집어넣으면 사용자는 웹서버의 처리가 다 끝날 때 까지 빙빙 돌고있는 웹브라우저를 하염없이 바라보고만 있어야 할 것이다. 왜냐하면 웹서버의 작업은 동기적(synchronous)이기 때문이다. 반대로 비동기적 (asynchronous)인 작업이라는 것은 어딘가에 작업을 던져주고 그 작업이 끝나길 기다리지 않고 다른 일을 할 수 있다는 것이다. 그 예로 태생부터 비동기적인 javascript가 있다. 그리고 작업이 끝났는 지 지속적인 체크를 하다가 끝나면 그 결과물을 받으면 된다. celery는 메시지 브로커(message br..