셀러리가 작업을 마칠 때까지 기다립니다.

2297 단어 pythoncelery
Python 애플리케이션을 배포할 때 셀러리를 다시 시작해야 하는 경우가 있습니다. 오래 실행되는 작업이 있는 경우 해당 작업을 종료하지 않고 작업이 완료될 때까지 기다리십시오.

이 기능은 새 작업 수락을 일시 중지하고 모든 작업이 완료될 때까지 기다립니다.

from celery import Celery
from celery.app.control import Control

def celery_check():
    app = Celery("app") # Name of the main module
    control = Control(app)
    control.cancel_consumer("celery")  # queue name, must probably be specified once per queue, but we use a single queue
    inspect = control.inspect()
    while True:
        active = inspect.active()
        if len(active.items()) > 0:
            seconds = 10
            time.sleep(seconds)
        else:
            break

좋은 웹페이지 즐겨찾기