django에서 view나 api에서 request를 celery로 넘길 수 있을까요?
246
작성한 질문수 84
django에서 view나 api로 받은 request 정보를 celery에 넘겨 client에게 응답 처리를 하게 만들 수 있을까요?
시리얼라이저 문제로 celery에서 request를 arg로 받을 수 없는 것으로 알고 있습니다.
그래도 tcp를 이용한 전송이기 때문에 가능은 할것 같은데
어떻게 접근해야 될지 가늠이 되지 않아
혹시 비슷한 고민을 해보신 적이 있으실까 싶어 이렇게 질문을 드려봅니다.
답변 1
0
안녕하세요 bluebamus님,
저희도 비슷한 방법으로 사용은 하고 있는데, Django의 요청 객체인 request를 Celery로 직접 넘길 수 없지만, 요청에서 필요한 데이터를 추출하여 Celery 작업에 전달하는 방식으로 문제를 해결하고 있습니다.
기본적인 방식은 다음과 같은데요?
요청 데이터 추출: 요청 객체에서 필요한 데이터를 추출하여 Celery 작업에 전달합니다.
Celery 작업 정의: 추출한 데이터를 처리하는 Celery 작업을 정의합니다.
Django 뷰/API에서 Celery 작업 호출: 요청 데이터를 Celery 작업에 전달하고 비동기 작업을 시작합니다.
클라이언트 응답 처리: Celery 작업이 완료된 후 결과를 클라이언트에게 응답으로 반환합니다
Django내에서는 delay 같은 것을 사용하셔서 Celery 작업을 시작하시고, task-result/<task_id> endpoint를 만드셔서 GET 요청을 보내 작업 결과를 조회하시면 될 듯 합니다.
도움이 되셨을까요?
0
polling이 방식이 아니라
client에서 sse 요청을 하면 view/api에서 응답을 하지 않고 celery에게 ip와 헤더, 세션, key 등의 정보를 넘겨 celery에서 sse 응답을 개시할 수 있을까 고민을 하고 있었습니다.
celery에서 이러한 http 응답을 직접 만드신 작업이 있으신지, 있으시다면 어떻게 하셨는지 알고 싶었습니다. ^^
진도미확인 (진도가 안 넘어감)
0
40
1
자료 화면 문의
0
40
1
celery.py 위치
0
96
2
docker-compose
0
112
1
standalone_celery 에만 작성된 task 들은 호출할 수 없나요?
0
136
2
수업노트 github 주소가 404가 많아요
0
92
1
product level에서 celeryd를 사용하시나요?
0
239
1
celery의 로그 설정을 django의 settings.py에서 따로 해줘야 하는게 있을까요?
1
346
1
child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?
1
251
1
DLQ와 관련한 이전 질문의 추가 질문 입니다.
1
272
2
task 에러를 signal로 잡는 부분에 대해 질문 드립니다.
0
215
1
DLQ에 저장하는 패턴에 대해 질문 드립니다.
1
204
1
DLX에 대한 질문입니다.
1
153
1
기존 docker-compose는 admin의 깨져서 나옵니다.
1
206
2
실습에 문제가 많아 수업노트보기의 저장소 코드를 확인해봤습니다.
1
221
2
celery-standalone에 대한 질문입니다.
1
165
1
Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.
1
529
3
group에서 keyword arg를 전송할 때에 대해 알고 싶습니다.
1
208
1
SNS 처럼 사용하기
1
177
1
셀러리 사용에 문의드립니다.
1
288
2
Task Routing 부분 보니까요
1
316
1
celery 에서 task 작업 끝난 후 ack 받기
1
373
2
rate_limit
0
320
2
docker-compose
2
450
2





