[python] Celery의 설정 파일은 어떻게 작성하는가?

Celery는 Python에서 사용되는 일괄 작업 처리 라이브러리입니다. Celery를 사용하려면 먼저 설정 파일을 작성해야 합니다. 이 설정 파일에는 Celery의 여러 옵션을 설정할 수 있습니다. 아래는 Celery의 설정 파일을 작성하는 방법에 대한 예시입니다.

먼저, 프로젝트 디렉토리에 celery.py 또는 celery_config.py와 같은 이름의 파일을 생성합니다. 그리고 다음과 같은 내용을 작성합니다.

# celery.py

from celery import Celery

app = Celery('myapp', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')

# Celery의 여러 설정을 추가할 수 있습니다.
app.conf.update(
    timezone='Asia/Seoul',
    task_serializer='json',
    result_serializer='json',
    worker_prefetch_multiplier=1
)

# Celery에 작업자(worker)를 등록할 수도 있습니다.
# 예를 들어, 작업자가 포함된 모듈이 있을 경우 다음과 같이 등록할 수 있습니다.
app.autodiscover_tasks(['myapp.tasks'])

위의 예시에서 첫 번째 줄에서는 Celery를 가져온 후, app 객체를 생성합니다. Celery 클래스의 첫 번째 인수는 프로젝트 이름, 두 번째 인수는 브로커(메시지 브로커) URL, 세 번째 인수는 백엔드 URL을 받습니다. 이 URL은 해당 브로커 및 백엔드에 맞게 수정해야 합니다.

두 번째 예시는 다양한 Celery 설정을 추가하는 방법을 보여줍니다. 위 예시에서는 Celery 작업자(worker)들의 타임존을 서울로 설정하고, 작업과 결과 시리얼라이저를 JSON으로 설정하고, 작업자 프리패치 멀티플라이어를 1로 설정하였습니다. 필요에 따라 이러한 설정을 수정하실 수 있습니다.

마지막으로, 작업자를 등록하는 방법을 보여주고 있습니다. app.autodiscover_tasks() 메소드를 사용하여 작업자가 포함된 모듈을 등록할 수 있습니다. 위의 예시에서는 myapp.tasks 모듈에 작업자가 정의되어 있다고 가정하고 등록하였습니다.

위와 같이 설정 파일을 작성한 후, Celery를 실행하면 해당 설정이 적용된 상태로 작업을 수행할 수 있습니다.

참고 문서: