celery && flask

mkhome·2021년 3월 26일
0

celery

목록 보기
1/1

Celery

  • 업무 중 대용량 메일을 보낼 일이 있어 동기적 움직임을 보이는 장고로는 리스폰스를 받는 시간까지 오래걸린다 판단하여 celery, pandas, openpyxl 활용한 비동기 시스템 사용 시작

  • 로컬에선 아무 무리 없이 진행되었지만 개발 서버에 테스트를 위해 배포하는 과정에서 계속해서 에러 발생

  • 확인 결과 현재 사용중인 컨테이너의 파이썬 base image인 Alpine에서 에러가 발생할 가능성이 높다고 확인
    - Alpine 자체가 가볍다보니 cpython과 관련된 라이브러리와 많은 충돌을 만들고 특히나 pandas를 사용하는데 어려움이 있었다.(정확하지는 않음)

  • 아직 한번도 이미지 생성하고 컨테이너 배포 해본적이 없어서 마이크로 서비스 새로 하나 만들겸 시작한 프로젝트.. 이왕 만드는거 안써본 플라스크도 한번 써보는게 좋겠다 싶어서 어쩌다 보니 플라스크 + celery + 기타 등등의 프로젝트 계속 진행하고 있는중

  • 사실 celery란 개념은 크게 어렵지 않았지만 적용함에 살짝 어려웠던것 같다 (그나마 Redis가 미리 설정되어 있어서 다행) 그리고 굉장히 수박 겉핥기 식으로 구현했기에 굉장히 엉성함.. 마무리 짓기전에 좀 제대로 내용 공부를 진행해야할 듯

  • 현재는 어느정도 구현이 되었다고 생각하지만 과연 celery server를 24시간 풀 가동 하는게 의미 있는 일인가에 대한 생각이 들어 해당 내용을 계속해서 찾아보고 있는중
    • 우선은 대량 이메일 발송에만 사용되기에 해당 API를 사용할때만 서버를 on/off하는게 어떤가라는 생각이 들어 flask 내부 코드에서 celery를 컨트롤하는 방법을 확인하는중

      • python에 있는 subprocess라는 모듈을 통해 진행해보려는데 로컬에서 뭔가 제대로 운영이 되지 않는 느낌 + subprocess자체도 어느정도 비동기적인 느낌이 들어 해당 내용을 더 확인해보려는 상태 (with shlex)

0개의 댓글