[python] Celery의 실행자(executor) 설정은 어떻게 하는가?
Celery에서 실행자를 설정하는 방법은 다음과 같습니다:
-
실행자 패키지를 설치합니다. 예를 들어, Eventlet 실행자를 사용하려면 다음 명령을 실행합니다:
pip install eventlet
-
Celery 설정 파일(
celery.py
또는celeryconfig.py
)에서 실행자를 설정합니다. 설정 파일이 없는 경우, 프로젝트 루트에celery.py
파일을 생성하고 다음 내용을 추가합니다:from celery import Celery app = Celery('myapp', broker='amqp://guest@localhost//')
이 예제에서는 AMQP(RabbitMQ) 브로커를 사용하고 있습니다. 다른 브로커를 사용하는 경우에는 해당 브로커의 URL로 바꿔주어야 합니다.
-
실행자를 변경하려면 Celery 설정 파일에서
executor
설정을 변경합니다. 예를 들어, Eventlet 실행자로 변경하려면 다음과 같이 설정합니다:app.conf.update({ 'task_always_eager': False, 'worker_pool': 'eventlet', 'eventlet_concurrency': 10, })
이 예제에서는
task_always_eager
를False
로 설정하여 비동기 실행을 활성화하고,worker_pool
을 ‘eventlet’으로 설정하여 Eventlet 실행자를 사용하고,eventlet_concurrency
를 10으로 설정하여 최대 10개의 동시성 작업을 처리합니다. -
Celery 실행 시에는
-P
옵션을 사용하여 실행자를 명시적으로 지정할 수 있습니다. 예를 들어,eventlet
실행자를 사용하려면 다음과 같이 실행합니다:celery -A myapp worker -l info -P eventlet
Celery 실행자를 설정하는 방법에 대해 간단히 알아보았습니다. 실행자는 Celery 작업의 처리 방식을 결정하므로, 프로젝트의 요구에 맞게 적절한 실행자를 선택하고 설정하는 것이 중요합니다.