-
Notifications
You must be signed in to change notification settings - Fork 1
2021.04.11 이미지 변환 비동기 처리
b-chae edited this page Apr 11, 2021
·
2 revisions
- celery, redis 를 사용하여 이미지 변환 비동기 처리
- 유저 모델 추가
- JWT Authentication 추가
- 실시간 처리를 위해서 1초에 10개 이상의 요청을 보내야 한다, 따라서 오래 걸리는 이미지 변환을 동시에 처리할 수 있도록 비동기 처리가 필요하다고 생각했다.
- Celery는 분산 메시지 전달을 기반으로 동작하는 비동기 작업 큐이다.
- [사용자] -> 요청 -> [웹서버] -> 요청 -> [Redis : Message Broker] -> 분배 -> [Celery: Worker]
[2021-04-11 06:34:21,672: INFO/MainProcess] Received task: config.tasks.convert_image[7852300a-4582-4deb-94c2-517f6
a742dde]
[2021-04-11 06:34:27,550: WARNING/ForkPoolWorker-1] done!
[2021-04-11 06:34:27,551: INFO/ForkPoolWorker-1] Task config.tasks.convert_image[7852300a-4582-4deb-94c2-517f6a742d
de] succeeded in 5.878234221949242s: None
[2021-04-11 06:34:40,072: WARNING/ForkPoolWorker-8] done!
[2021-04-11 06:34:40,073: INFO/ForkPoolWorker-8] Task config.tasks.convert_image[2e110d6d-8ada-4bae-b453-602572c5ea
47] succeeded in 21.535740785999224s: None
-
600kB
의 이미지일 경우5초
,0.9M
의 이미지일 경우20초
가 소요된다. - Member 모델 생성 : email을 자동으로 username으로 설정