개발/Celery

Celery의 튜토리얼

copg 2023. 12. 10. 15:20
728x90
반응형

Celery를 활용한 첫걸음

Celery는 기능이 풍부한 태스크 큐로, 복잡한 기능을 전부 학습하지 않고도 간편하게 사용할 수 있도록 설계되었습니다. 최상의 실천 방법에 따라 제품을 확장하고 다른 언어와 통합할 수 있도록 구성되어 있으며, 운영에 필요한 도구와 지원을 제공합니다.

핵심 내용:

  1. 브로커 선택 및 설치

    • RabbitMQ
    • Redis
    • 기타 브로커 (Amazon SQS 등)
  2. Celery 설치

     pip install celery
  3. 애플리케이션 구성

    • tasks.py 파일을 생성하고 다음과 같이 Celery 애플리케이션을 설정합니다:

      from celery import Celery
      
      app = Celery('tasks', broker='pyamqp://guest@localhost//')
      
      @app.task
      def add(x, y):
        return x + y
  4. Celery 워커 서버 실행

     celery -A tasks worker --loglevel=INFO
  5. 태스크 호출

    • tasks.py에서 정의한 태스크를 호출합니다:
      from tasks import add
      add.delay(4, 4)
  6. 결과 추적

    • 결과를 추적하려면 Celery가 상태를 저장하거나 전송할 수 있어야 합니다. rpc 결과 백엔드를 사용하는 예제:
      app = Celery('tasks', backend='rpc://', broker='pyamqp://')
      또는 Redis를 결과 백엔드로 사용하려면:
      app = Celery('tasks', backend='redis://localhost', broker='pyamqp://')

이제 각 단계가 더 자세히 설명되었습니다. Celery를 사용하여 간단한 작업부터 복잡한 작업까지 처리하는 방법을 익히고, 결과를 추적하고 상태를 확인하는 방법을 숙지할 것입니다. 이를 통해 브로커 선택, 설치, 애플리케이션 구성 등에 대한 이해를 높일 수 있습니다. 이 튜토리얼 이후에는 더 많은 기능 및 활용법을 배우기 위해 관련 문서를 참고하는 것이 좋습니다.