[python] Celery의 실행자(executor) 설정은 어떻게 하는가?

Celery에서 실행자를 설정하는 방법은 다음과 같습니다:

  1. 실행자 패키지를 설치합니다. 예를 들어, Eventlet 실행자를 사용하려면 다음 명령을 실행합니다:

    pip install eventlet
    
  2. Celery 설정 파일(celery.py 또는 celeryconfig.py)에서 실행자를 설정합니다. 설정 파일이 없는 경우, 프로젝트 루트에 celery.py 파일을 생성하고 다음 내용을 추가합니다:

    from celery import Celery
       
    app = Celery('myapp', broker='amqp://guest@localhost//')
    

    이 예제에서는 AMQP(RabbitMQ) 브로커를 사용하고 있습니다. 다른 브로커를 사용하는 경우에는 해당 브로커의 URL로 바꿔주어야 합니다.

  3. 실행자를 변경하려면 Celery 설정 파일에서 executor 설정을 변경합니다. 예를 들어, Eventlet 실행자로 변경하려면 다음과 같이 설정합니다:

    app.conf.update({
        'task_always_eager': False,
        'worker_pool': 'eventlet',
        'eventlet_concurrency': 10,
    })
    

    이 예제에서는 task_always_eagerFalse로 설정하여 비동기 실행을 활성화하고, worker_pool을 ‘eventlet’으로 설정하여 Eventlet 실행자를 사용하고, eventlet_concurrency를 10으로 설정하여 최대 10개의 동시성 작업을 처리합니다.

  4. Celery 실행 시에는 -P 옵션을 사용하여 실행자를 명시적으로 지정할 수 있습니다. 예를 들어, eventlet 실행자를 사용하려면 다음과 같이 실행합니다:

    celery -A myapp worker -l info -P eventlet
    

Celery 실행자를 설정하는 방법에 대해 간단히 알아보았습니다. 실행자는 Celery 작업의 처리 방식을 결정하므로, 프로젝트의 요구에 맞게 적절한 실행자를 선택하고 설정하는 것이 중요합니다.