[python] Celery의 지연된 작업(delayed task) 실행 방법은 어떻게 되는가?

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

pip install celery

Celery를 설치한 후에는 Celery를 구성해야 합니다. Celery 구성 파일인 celery.py를 만들고 다음과 같이 설정합니다.

from celery import Celery

# Celery 인스턴스를 생성합니다.
app = Celery('myapp', broker='redis://localhost:6379/0')  # Redis Broker를 사용하는 경우

# Celery 설정을 지정합니다.
app.conf.update(
    result_backend='redis://localhost:6379/0'  # 작업 결과를 저장할 Redis Backend를 지정하는 경우
)

# 작업을 처리할 태스크를 정의합니다.
@app.task
def add(x, y):
    return x + y

이제 위에서 정의한 add 함수가 포함된 파일을 실행합니다.

celery -A celery_app worker --loglevel=info

위 명령을 실행하면 Celery 워커가 시작되고 작업 대기열을 모니터링하게 됩니다.

이제 Python 코드에서 Celery를 사용하여 지연된 작업을 실행할 수 있습니다. 아래의 코드는 add 태스크를 지연시켜 실행하는 예제입니다.

from celery_app import add

result = add.delay(4, 6)  # add 태스크를 지연시켜 실행

print(result.ready())  # 작업이 완료되었는지 여부를 확인
print(result.get())  # 작업 결과를 가져옴

위의 코드에서 add.delay(4, 6)add 태스크를 비동기로 실행하라는 의미입니다. delay 메서드는 작업을 실행하기 위해 Celery에게 요청을 보내고, 결과를 반환합니다. ready() 메서드를 사용하여 작업이 완료되었는지 여부를 확인할 수 있으며, get() 메서드를 사용하여 작업 결과를 가져올 수 있습니다.

이제 Celery를 사용하여 지연된 작업을 실행하는 방법을 알게 되었습니다. Celery는 대규모 애플리케이션에서 비동기 작업을 처리하는 데 매우 유용한 도구입니다.

참고 링크: