업무 중 대용량 메일을 보낼 일이 있어 동기적 움직임을 보이는 장고로는 리스폰스를 받는 시간까지 오래걸린다 판단하여 celery, pandas, openpyxl 활용한 비동기 시스템 사용 시작
로컬에선 아무 무리 없이 진행되었지만 개발 서버에 테스트를 위해 배포하는 과정에서 계속해서 에러 발생
확인 결과 현재 사용중인 컨테이너의 파이썬 base image인 Alpine에서 에러가 발생할 가능성이 높다고 확인
- Alpine 자체가 가볍다보니 cpython과 관련된 라이브러리와 많은 충돌을 만들고 특히나 pandas를 사용하는데 어려움이 있었다.(정확하지는 않음)
아직 한번도 이미지 생성하고 컨테이너 배포 해본적이 없어서 마이크로 서비스 새로 하나 만들겸 시작한 프로젝트.. 이왕 만드는거 안써본 플라스크도 한번 써보는게 좋겠다 싶어서 어쩌다 보니 플라스크 + celery + 기타 등등의 프로젝트 계속 진행하고 있는중
사실 celery란 개념은 크게 어렵지 않았지만 적용함에 살짝 어려웠던것 같다 (그나마 Redis가 미리 설정되어 있어서 다행) 그리고 굉장히 수박 겉핥기 식으로 구현했기에 굉장히 엉성함.. 마무리 짓기전에 좀 제대로 내용 공부를 진행해야할 듯
우선은 대량 이메일 발송에만 사용되기에 해당 API를 사용할때만 서버를 on/off하는게 어떤가라는 생각이 들어 flask 내부 코드에서 celery를 컨트롤하는 방법을 확인하는중