celery-worker, beat, flower, docker-compose 질문
635
投稿した質問数 12
안녕하세요 강사님 프로젝트 진행중입니다! ㅎㅎ
현재 장고없이 celery, beat, flower 를 로컬에서는 정상적으로 동작하는데 Docker 컨테이너로 해서 할 때 worker와 redis간의 포트문제가 발생하고 flower는 설치가 안되는 현상이있는데 장고없이 저 세가지를 컨테이너로 생성해서 정상적으로 동작할수 있는 docker-compose, dockerfile 작성 하는 팁이 따로 있을까요?
추가적으로 celery가 윈도우에서 멀티프로세싱이 안된다고 하는데 그것이 영향이 있어서 그런건가요?
回答 1
0
안녕하세요 chicmania님,
장고가 없이는 아마도 이 페이지를 보시면 될 듯 합니다.
https://docs.celeryq.dev/en/stable/userguide/configuration.html
일단 celeryconfig.py파일을 만드시고 브로커 주소를 세팅하시면 됩니다.
broker_url = 'redis://localhost:6379/0'그리고 Celery 메인 드라이버 파일에 그 파일을 import해서 사용하시면 됩니다.
from celery import Celery
# Import the Celery configuration
import celeryconfig
# Create a Celery application instance
app = Celery('myapp')
# Load the configuration from the configuration module
app.config_from_object(celeryconfig)마지막으로 윈도우에서도 여러개의 다커는 동시 동작 가능합니다.
0
답변해주셔서 감사합니다! 일단 해보겠습니다! ㅎㅎ
docker 컨테이너를 바로 생성하지 않고 따로 실행하는 걸로 했을때 아래와 같은 실행화면까지 나오고 잠시후에 에러메세지가 뜨는데 여기서 더이상 방법을 못찾아서 헤매고 있습니다 ㅎㅎ 윈도우라서 그런건 아니겠죠?
[I 240227 01:42:46 command:177] Registered tasks:
['celery.accumulate',
'celery.backend_cleanup',
'celery.chain',
'celery.chord',
'celery.chord_unlock',
'celery.chunks',
'celery.group',
'celery.map',
'celery.starmap']
[E 240227 01:42:54 events:191] Failed to capture events: 'Error 11001 connecting to redis:6379. getaddrinfo failed.', trying again in 2 seconds.
[E 240227 01:42:54 base_events:1771] Future exception was never retrieved
따로 실행하는 이유는 처음에 docker-compose up --build -d 해서 생성할때 flower에서
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "flower": executable file not found in $PATH: unknown
에러가 발생해서 찾아보니 따로 실행하면 된다고 그래서 현재 따로 실행중에있습니다.
version: '3'
services:
app:
build: ./python_app
volumes:
- ./python_app:/usr/src/app
ports:
- "8000:8000" # 필요한 경우, 앱이 외부에 노출할 포트를 지정
redis:
image: "redis:alpine"
celery_worker:
build: ./python_app
command: celery -A tasks worker --loglevel=info
volumes:
- ./python_app:/usr/src/app
depends_on:
- redis
celery_beat:
build: ./python_app
command: celery -A tasks beat --loglevel=info
volumes:
- ./python_app:/usr/src/app
depends_on:
- redis
flower:
image: mher/flower
command: flower --broker=redis://redis:6379/0 --port=5555
ports:
- "5555:5555"
depends_on:
- redis
Dockerfile 질문
0
75
2
Logging 질문
0
126
1
0.0.0.0:8000 접속이 안됩니다
0
296
2
블로그 게시
0
171
2
{{form.as_p}} 사용방법 질문드립니다.
0
229
2
reverse vs reverse_lazy 사용 이유와 차이점을 이해하지 못 했습니다.
0
214
1
urls.py에 라우팅 하는 부분에서요.
0
161
2
handler, static 질문이 있습니다.
0
188
2
build: context 부분이 이해가 되지 않습니다.
1
215
3
직렬화 질문
0
151
1
Celery 수업중 세팅 질문드립니다.
1
181
1
6-1 질문
1
216
1
channels alternative?
1
207
1
크롬에서 서드 파티 쿠키 제한이라는 에러가 뜨는데 혹시 추가로 어떤걸 업데이트 해야지 정상작동 되는지 알 수 있을까요?
0
741
2
dock 환경설정에 대해 잘 이해가 가지 않습니다.
1
282
1
Django Authentication 중에 로그아웃 기능이 안됩니다 ㅠㅠ
1
344
1
학습방식
1
321
2
docker, flower 질문
0
303
1
docker 컨테이너 환경설정 문제
0
1641
1
4-1 공식문서
1
251
1
장고 프로젝트 질문
2
290
1
복습
1
256
1
온라인 ide
1
324
2
vs code
1
364
2

