일지
5월 마지막 주
scarlet0star
2023. 5. 29. 01:49
이번주는 새로운 시도를 하면서 배운것이 많은 주이다.
특히 openAI의 API를 사용하다보니까 오래걸리는 작업을 처리해야할 필요가 있었고, 이를 처리하기 위해서 비동기 작업을 사용할 필요가 있었다.
Celery는 Celery worker를 통해 각각의 프로세스에 작업을 할당하는데, 이때 작업의 내용이 메시지 브로커를 통해 전해진다. 메세지 브로커는 애플리케이션이나 시스템, 서비스 사이에서 통신하고 정보를 교환하게끔 해주는 소프트웨어다. 여기서 나는 유명한 Redis를 사용했다. Redis는 단순히 켜놓고 연결하기만 했는데 알아서 잘되었기에 신기할 따름이었다. 그 속을 들여볼 충분한 시간이 없었기에 프로젝트가 끝나면 찬찬히 분해할 생각이다.
그런데 분해할게 너무 많지 않나?
[Django] Redis, Celery 조합으로 비동기 작업 | 블로그 | 딩그르르
[Django] Redis, Celery 조합으로 비동기 작업
dingrr.com
https://www.ibm.com/kr-ko/topics/message-brokers
메시지 브로커란? | IBM
애플리케이션, 시스템 및 서비스는 메시지 브로커를 사용하여 서로 다른 메시징 프로토콜의 메시지를 변환함으로써 서로 간에 통신하고 정보를 교환할 수 있습니다.
www.ibm.com