반응형
celery
-
[Django] Django 연습장 - 7. 이메일 전송 비동기 방식 (celery + redis)프로그래밍/Django 2022. 4. 17. 02:15
지난번 회원 가입 시 이메일 인증하는 프로세스를 추가했습니다. 그렇지만 문제가 있습니다. 이메일을 전송하는 함수는 다소 시간이 소요됩니다. 만약 이메일에 무언가를 첨부한다면 시간은 더욱 늘어납니다. 그러나 django는 Task들을 순서대로 처리합니다. 이 말은 앞에 일이 늦게 끝나면 뒤에 일 들도 처리가 늦어집니다. 이를 방지하기 위해 이메일 전송 및 시간이 오래 걸리는 작업들은 비동기 방식으로 처리합니다. 예를 들어 Event A, Event B 순서로 요청이 들어왔을 때 A->B 순서로 이루어지게 된다. A의 처리가 늦어질수록 B의 처리에 영향이 간다. 그러나 비동기 방식으로 프로세스를 개선한다면 A의 처리완료 여부와 상관없이 B의 작업이 일어난다. 이를 위해서 사용하는 것이 Celery이다. [작..