인프런 커뮤니티 질문&답변

bluebamus님의 프로필 이미지

작성한 질문수

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

Celery Monitoring Tool, Flower에 대해 알아보기

Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.

24.06.29 20:44 작성

·

208

·

수정됨

1

"Celery Monitoring Tool, Flower에 대해 알아보기"에 main.py가 없어서 임의로 celery.py와 유사하게 작성하였습니다.

celery와 celery-standalone이 동작하고 flow도 동작하게 만들었는데, 화면과 같이 broker가 보이지 않습니다.

celery 하나만 보입니다.

하지만, log를 확인하면 큐는 각각 3개씩 생성되는게 확인되었습니다.

뿐만 아니라, workers에 나타나는 celery의 이름으로 되어 있는 링크를 누르면 unknown worker 'celery@...'로 출력됩니다.

docker-compose의 코드는 화면과 동일하게 했습니다.

docker-compose의 로그에는 flower와 관련하여 다음과 같은 로그가 확인됩니다.

flower-1 | [I 240629 12:24:37 command:168] Visit me at http://0.0.0.0:5555

flower-1 | [I 240629 12:24:37 command:176] Broker: redis://redis:6379/0

flower-1 | [I 240629 12:24:37 command:177] Registered tasks:

flower-1 | ['celery.accumulate',

flower-1 | 'celery.backend_cleanup',

flower-1 | 'celery.chain',

flower-1 | 'celery.chord',

flower-1 | 'celery.chord_unlock',

flower-1 | 'celery.chunks',

flower-1 | 'celery.group',

flower-1 | 'celery.map',

flower-1 | 'celery.starmap']

flower-1 | [I 240629 12:24:37 mixins:228] Connected to redis://redis:6379/0

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method registered failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method stats failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method conf failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method scheduled failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method reserved failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method active_queues failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method revoked failed

flower-1 | [W 240629 12:24:38 inspector:44] Inspect method active failed

관련해서 어떻게 해결할 수 있는지 알고 싶습니다.

제가 드린 정보가 부족하다면, celery.py main.py 를 남겨 주시면 감사 드리겠습니다.

추가적으로

app.conf.broker_transport_options 설정은 celery.pymain.py 둘다 하는게 맞는건가요? 아니면 메인이라 생각되는 celery.py에만 설정하는게 맞는건가요?

답변 2

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

2024. 06. 30. 17:06

안녕하세요 bluebamus님,

제가 전체 코드를 깃헙에 공개해 놨었는데, 안내를 안해드렸네요.

https://github.com/dimz119/learn-celery/blob/main/django_celery/requirements.txt#L8

이 부분을 보시면 될 듯 합니다. 불편을 드려 죄송합니다.

0

bluebamus님의 프로필 이미지
bluebamus
질문자

2024. 06. 30. 01:55

패키지 호환성 문제가 아니라 gunicorn과 runserver의 차이로 확인하였습니다.

gunicorn으로 동작시키면 admin의 특정 view를 이용한 데이터 수집이 되지 않지만

runwerver를 이용했을때는 admin의 특정 view를 이용한 api 수집이 가능하여 이러한 차이가 나타난 것으로 보입니다.

gunicorn을 사용할 시 nginx 등의 추가 서비스가 필요합니다.

혹시나 문제가 있으신 분을 위해 댓글을 업데이트 하였습니다.