Notice
Recent Posts
Recent Comments
Link
SeouliteLab
파이썬으로 비동기 작업 처리하기: Celery를 활용한 작업 큐 구축 본문
Celery는 파이썬으로 작성된 비동기 작업 큐 라이브러리로, 분산 시스템에서 작업을 처리하기 위한 강력한 도구입니다. Celery를 사용하면 작업을 비동기적으로 실행하고 관리할 수 있으며, 작업을 큐에 추가하여 원격 서버에서 실행할 수 있습니다. 아래는 Celery의 주요 기능과 사용법을 살펴보겠습니다.
기능 1: 작업 정의 및 등록
Celery를 사용하여 작업을 정의하고 등록할 수 있습니다. 작업은 단순한 함수로 정의되며, Celery에 등록되면 원격 실행을 위해 준비됩니다.
예제 1: 작업 정의 및 등록
from celery import Celery
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def add(x, y):
return x + y
기능 2: 작업 실행 및 결과 처리
Celery를 사용하여 작업을 실행하고 결과를 처리할 수 있습니다. 작업을 실행하면 Celery가 작업을 큐에 추가하고 작업자(worker)가 작업을 가져와 실행합니다.
예제 2: 작업 실행 및 결과 처리
from tasks import add
result = add.delay(4, 4) # 작업 실행
print(result.get()) # 결과 처리
기능 3: 작업 예약과 스케줄링
Celery를 사용하여 작업을 예약하고 스케줄링할 수 있습니다. 작업을 특정 시간에 실행하거나 주기적으로 실행할 수 있습니다.
예제 3: 작업 예약과 스케줄링
from celery import Celery
from datetime import timedelta
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def multiply(x, y):
return x * y
# 10분 후에 작업 실행
result = multiply.apply_async(args=[3, 3], countdown=600)
'프로그래밍' 카테고리의 다른 글
파이썬에서 문자 인코딩 감지하기: chardet 라이브러리 활용 방법 (0) | 2024.04.16 |
---|---|
파이썬에서 SSL/TLS 인증서 관리하기: certifi 라이브러리 사용법 (0) | 2024.04.16 |
파이썬으로 카산드라 데이터베이스와 상호작용하기: cassandra-driver (0) | 2024.04.16 |
파이썬 캐싱 라이브러리의 강력한 도구: cachetools (0) | 2024.04.16 |
파이썬으로 AWS와 통신하기: Botocore 라이브러리 이해하기 (0) | 2024.04.16 |