[python] Celery task의 작성 방법은 어떻게 되는가?

Celery는 파이썬으로 작성된 분산 작업 큐 시스템으로, 비동기 작업을 처리하기 위해 사용됩니다. Celery를 사용하여 간단한 작업을 정의하고 예약하는 방법을 알아보겠습니다.

먼저, Celery를 설치해야 합니다. 다음 명령을 사용하여 Celery를 설치할 수 있습니다.

pip install celery

Celery를 설치한 후에는 Celery worker와 Celery beat를 실행해야 합니다. Celery worker는 작업을 처리하고, Celery beat는 작업을 예약하는 역할을 합니다. 각각 다음 명령으로 실행할 수 있습니다.

celery -A your_app_name worker --loglevel=info
celery -A your_app_name beat --loglevel=info

your_app_name은 Celery 작업을 정의한 파이썬 애플리케이션 모듈의 이름입니다.

이제, Celery task를 작성해보겠습니다. Celery task는 @app.task 데코레이터를 사용하여 정의합니다. 아래는 간단한 예제입니다.

from celery import Celery

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

@app.task
def add(x, y):
    return x + y

위의 예제에서 add 함수는 xy를 인자로 받아 더한 값을 반환하는 Celery task입니다.

이제, 작성한 Celery task를 실행해보겠습니다. Celery worker가 실행 중인 상태에서 다음과 같이 작업을 예약할 수 있습니다.

result = add.delay(4, 6)

위의 예제에서 add.delay(4, 6)add task를 4와 6을 인자로 실행하는 것을 의미합니다. delay 메서드는 task를 비동기적으로 실행하고, result 변수에 결과를 저장합니다.

이렇게 Celery를 사용하여 간단한 작업을 정의하고 예약할 수 있습니다. Celery는 복잡한 작업 흐름을 관리하고 확장 가능한 비동기 작업을 처리하는 데 매우 유용한 도구입니다.

더 자세한 내용을 알고 싶다면, Celery 공식 문서를 참조하십시오.