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를 실행하면 해당 설정이 적용된 상태로 작업을 수행할 수 있습니다.
참고 문서:
- Celery 공식 문서: https://docs.celeryproject.org/en/latest/index.html
- Celery 설정 옵션: https://docs.celeryproject.org/en/latest/userguide/configuration.html