inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Celery cùng kỹ sư Thung lũng Silicon

Giải quyết lỗi Task bằng Signal

celery의 로그 설정을 django의 settings.py에서 따로 해줘야 하는게 있을까요?

346

bluebamus

84 câu hỏi đã được viết

1

django의 logger를 사용해 log를 출력하는 경우

CELERYD_HIJACK_ROOT_LOGGER = False를 해줘야 하는지요?

celery의 동작과 관련한 모든 기본 출력을 django log에 함께 출력하는 방법이 있는지도 알고 싶습니다.

django celery django-celery django-celery-beat

Câu trả lời 1

0

altoformula

안녕하세요 bluebamus님,

저는 보통 Celery를 k8s에서 각각의 worker pod으로 사용하고, Splunk나 다른 Log fowarder를 사용해 왔었는데, 인터넷에 찾아보니, 이런 자료들이 있네요.

말씀하신대로 CELERYD_HIJACK_ROOT_LOGGER를 False로 설정하면 Celery가 기본 logger를 가져가서 사용하지 않습니다. 이를 통해 Django의 기본 로거 설정을 유지할 수 있습니다. 이 설정이 없으면 Celery가 root logger를 가로채서 Celery 자체의 로거로 사용하게 됩니다.

다음과 같이 사용하시면 될 듯 합니다.

# settings.py
CELERYD_HIJACK_ROOT_LOGGER = False

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': 'django_celery.log',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console', 'file'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'celery': {
            'handlers': ['console', 'file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

# celery.py
import logging.config
from django.conf import settings

logging.config.dictConfig(settings.LOGGING)

app = Celery('your_project_name')

# your existing Celery settings

# Ensure the logging configuration is used by Celery
app.conf.update(
    worker_hijack_root_logger=False,
)

0

bluebamus

감사합니다. 덕분에 좋은 지식을 얻었습니다 ^^

진도미확인 (진도가 안 넘어감)

0

41

1

자료 화면 문의

0

40

1

celery.py 위치

0

96

2

docker-compose

0

113

1

standalone_celery 에만 작성된 task 들은 호출할 수 없나요?

0

136

2

수업노트 github 주소가 404가 많아요

0

92

1

product level에서 celeryd를 사용하시나요?

0

239

1

django에서 view나 api에서 request를 celery로 넘길 수 있을까요?

1

246

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

207

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

374

2

rate_limit

0

321

2

docker-compose

2

451

2