Task Routing 부분 보니까요
315
작성한 질문수 2
강의에서는 1개의 Queue에 1개의 celery서버가 할당되어 있는 구조인데요. 1개의 Queue에 여러대의 celery 서버가 할당되어 있는 구조도 문제없는 구조 일까요?
예를 들어 celery 3대의 서버가 모두 대기상태일때 동일한 queue를 바라보면 메세지가 하나 날라왔을 때 동시에 3대의 celery 서버가 같은 큐를 처리할 것 같아서요.
그리고 같은 task에 대해서 queue 여러개로 로드밸런스하고 싶다면 어떻게 하는게 좋을까요?
답변 1
0
안녕하세요 김태규님,
한개의 큐에 여러개의 Celery를 묶어서 사용가능합니다. 실전에서는 다 그렇게 사용합니다.
그리고 대부분의 경우 큐를 여러개로 로드밸런스 하는 경우는 극히 드문 경우인데, 그럴 경우에는 몇개의 프로젝트나 서비스 별로 큐와 Celery를 나누어서 쓰시면 됩니다.
0
Redis안에 큐가 여러개가 있어도 태규님이 그 큐를 지정하실 수 있습니다.
그리고 메세지가 여러개 오더라도, 하나의 Celery가 하나의 메세지를 받아서 처리하기 때문에 하나의 메세지를 여러개의 Celery가 중복적으로 처리하지는 않습니다.
0
Task1이 queue1로 왔다고 한다면, queue1를 celery 1,2,3이 할당되어있다면 task1을 celery 1,2,3이 처리하더라구요. 총 3번이 처리가 되네요!
0
호음??? 그럴리가 없을텐데요 ㅎㅎㅎ
제가 한번 확인해 보겠습니다. 기본적으로 Celery Broker가 Task Queue를 관리하는데, 특별히 다르게 세팅하지 않는 이상 하나의 Task는 하나의 Worker에 Assign됩니다.
진도미확인 (진도가 안 넘어감)
0
39
1
자료 화면 문의
0
37
1
celery.py 위치
0
96
2
docker-compose
0
111
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
django에서 view나 api에서 request를 celery로 넘길 수 있을까요?
1
243
1
child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?
1
251
1
DLQ와 관련한 이전 질문의 추가 질문 입니다.
1
272
2
task 에러를 signal로 잡는 부분에 대해 질문 드립니다.
0
214
1
DLQ에 저장하는 패턴에 대해 질문 드립니다.
1
203
1
DLX에 대한 질문입니다.
1
153
1
기존 docker-compose는 admin의 깨져서 나옵니다.
1
206
2
실습에 문제가 많아 수업노트보기의 저장소 코드를 확인해봤습니다.
1
219
2
celery-standalone에 대한 질문입니다.
1
162
1
Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.
1
528
3
group에서 keyword arg를 전송할 때에 대해 알고 싶습니다.
1
208
1
SNS 처럼 사용하기
1
177
1
셀러리 사용에 문의드립니다.
1
288
2
celery 에서 task 작업 끝난 후 ack 받기
1
371
2
rate_limit
0
319
2
docker-compose
2
448
2






큐가 redis가 아니라 redis안의 큐를 말하는 거였는데 그렇게하면 큐에 메시지가 왔을때 여러대의 celery가 동시에 가져가서 처리하는 거 같아서요.