[python] Celery의 결과 백엔드 설정 방법은 어떻게 되는가?
Celery는 Python에서 사용되는 분산 작업 큐이며, 비동기 작업을 처리하는 데 사용됩니다. Celery의 결과 백엔드는 Celery 작업의 결과를 저장하고 추적하는 데 사용됩니다. 기본적으로 Celery는 결과를 메모리에 저장하지만, 보다 신뢰성있는 영구 저장소를 사용하는 것이 좋습니다.
Celery의 결과 백엔드를 설정하기 위해 다음 단계를 따르세요:
-
필요한 라이브러리 설치:
pip install celery[redis] # Redis 결과 백엔드를 사용할 경우
또는
pip install celery[rabbitmq] # RabbitMQ 결과 백엔드를 사용할 경우
-
Celery 설정 파일 작성:
# celery.py from celery import Celery celery_app = Celery( 'your_app', broker='redis://localhost:6379/0', # 메시지 브로커 설정 backend='redis://localhost:6379/0', # 결과 백엔드 설정 )
위의 예에서는 Redis를 메시지 브로커 및 결과 백엔드로 사용하고 있습니다. RabbitMQ를 사용하려면
broker
및backend
URL을 RabbitMQ로 변경하면 됩니다. -
Celery 작업 실행:
# tasks.py from celery_app import celery_app @celery_app.task def your_task(): # 작업 내용 return result
your_task()
함수는 백그라운드에서 실행될 비동기 작업을 정의하는 예시입니다. -
Celery 작업 결과 얻기:
# main.py from tasks import your_task result = your_task.delay() print(result.get())
your_task.delay()
메서드는 작업을 예약하고 작업 ID를 반환합니다.result.get()
을 호출하여 작업 결과를 얻을 수 있습니다.
위의 단계를 따르면 Celery의 결과 백엔드를 설정할 수 있습니다. 결과를 영구적으로 저장하며 작업 추적에 유용한 기능을 제공합니다.