Celery를 이용한 동적 작업 스케줄링

Celery는 Python으로 작성된 분산 작업 조정 라이브러리입니다. 이를 통해 비동기적인 작업을 스케줄링하고 실행할 수 있습니다. 이번 글에서는 Celery를 이용하여 동적으로 작업을 스케줄링하는 방법에 대해 알아보겠습니다.

Celery 설치하기

Celery를 사용하기 위해서는 먼저 설치해야 합니다. 다음 명령어를 사용하여 Celery를 설치할 수 있습니다.

pip install celery

Celery 워커 실행하기

Celery를 사용하기 위해서는 Celery 워커를 실행해야 합니다. Celery 워커는 작업을 처리하는 역할을 담당합니다. 다음 명령어를 사용하여 Celery 워커를 실행합니다.

celery -A 프로젝트명 worker

위의 프로젝트명은 Celery 프로젝트의 이름입니다. Celery 워커는 프로젝트의 작업 설정을 기반으로 작업을 처리합니다.

동적 작업 스케줄링하기

Celery를 이용하여 작업을 동적으로 스케줄링하려면 큐에 작업을 추가해야 합니다. 다음은 Celery를 이용하여 동적으로 작업을 스케줄링하는 예제 코드입니다.

from celery import Celery

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

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

def schedule_task(task_name, x, y):
    # 작업을 큐에 추가
    add.apply_async(args=(x, y))

# 작업을 스케줄링
schedule_task('add', 2, 2)

위의 예제 코드에서 schedule_task 함수는 add 작업을 스케줄링합니다. add.apply_async 메서드를 사용하여 작업을 Celery 큐에 추가합니다.

결론

Celery를 이용하여 동적으로 작업을 스케줄링하는 방법에 대해 알아보았습니다. Celery를 사용하면 비동기적인 작업을 효율적으로 처리할 수 있습니다. 추가적인 기능과 설정에 대해서는 Celery의 공식 문서를 참고하시기 바랍니다.

#Celery #스케줄링