작성
·
71
1
main.py와 celery.py의 코드가 수업 내용에 따라 어떻게 되는지 전체가 제공이 되지 않아 특히 main.py는 예상만 하며 따라하고 있습니다.
그 중에 group에 대한 질문입니다.
celery와 celery-standalone을 실행하면서
각각 celery, celery:1, celery:2 그리고 celery:3, celery:4, celery:5를 각각 큐로 할당하였습니다.
이때 task_router의 설정과 관련해서
celery-standalone에서 add에 대한 task 작업 큐를 celery로 정의해도 동작하나요?
아니면 자신의 celery에 할당된 큐에대해서 task 큐를 할당할 수 있는 것인가요?
답변 1
0
안녕하세요 bluebmus님,
강의 코드는 https://github.com/dimz119/learn-celery 를 참고 하시면 될 것 같습니다. 모든 태스크는 시작하시는 로그를 보시면 그 작업의 정의를 액세스할 수 있는지 없는지 확인 가능합니다. 그래서 add
라는 정의가 두 군데 모두 액세스 가능하다면 두군데 모두의 큐에 할당 가능합니다.
제가 질문을 잘 이해했는지 확인해 주시면 감사하겠습니다.
안녕하세요 bluebamus님,
만약에 아래와 같이 queue를 시작하셨다면, worker는 아래 3가지의 큐만 듣게 됩니다. 당연히 celery
에 대한 태스크는 듣지 않기 때문에 무시 될 것입니다.
celery --app=main worker -l INFO -Q celery:3,celery:4,celery:5
만약 celery
에도 할당하시고 싶으시다면 -Q celery,celery:3,celery:4,celery:5
를 명시적으로 하셔야 합니다.
add라는 task가 django-celery와 standalone-celery 모두에게 있다면,
standalone celery 명령어 실행시 celery:3,celery:4,celery:5로 정의를 했더라도
standalone-celery의 add task를 celery로 할당할 수 있는가에 대해서 질문 드렸습니다.
한번더 확인을 부탁 드리겠습니다.