2017-05-10 1 views
0

혼란!관리자와 gunicorn을 사용하여 장고 - 샐러리 프로세스를 시작 하시겠습니까?

그 같은 아래와 같이 관리자를 사용하여 장고를 시작하기 쉬운 - 내가 찾은 튜토리얼에 따라 :

supervisord.conf :

[program:gunicorn] 
command=/home/me/.virtualenvs/app/bin/gunicorn app.wsgi:application --bind 127.0.0.1:8000 ; 

그러나 셀러리는 자신의 시작 방법을 필요로 보인다

celery -A app worker -l info 

내 무지와 혼란 때문에 나는 Gunicorn이나 Celery로 시작해야합니다. 의심 할 여지없이 슈퍼 바이저에서 셀러리를 많이 사용하기 때문에 분명히 혼란 스럽습니다.

어디로 잘못 가고 있습니까? Gunicorn에서 슈퍼 바이저를 사용하여 셀러리 장고 앱을 시작하려면 어떻게해야합니까?

+0

여기 실제 문제가 있다고 생각합니다. 도움이되지 않는다면 알려주세요. 이렇게하면 셀러리 명령을 찾을 수있는 위치를 알 수 있습니다 :'type -a celery'. 일반적으로 virtualenv의 bin 폴더에 있습니다. 상사가 샐러리를 운영하는 데 gunicorn이 필요하지 않습니다. –

+0

나는이 질문을했기 때문에 "오해"로 조금 진전되었다. 셀러리 작업자를 실행하면 자체 내에서 장고 인스턴스가 생성됩니까? 그렇지 않으면 django 인스턴스가 셀러리 인스턴스와 협력한다고 가정 할 때 gunicorn/django 인스턴스와 셀러리 인스턴스를 모두 시작했습니다. – Pipsqweek

답변

3
celery -A app worker -l info 

위의 명령은 포어 그라운드에서 셀러리 작업자의 인스턴스를 시작합니다.

작업자를 대몬 화하기 위해 수퍼바이저를 사용하려면 an example supervisor configuration available in the celery source이 있습니다. 관리자는 여러 프로그램을 관리 할 수 ​​있으므로 원하는 경우 gunicorn 및 셀러리 작업자 인스턴스를 관리하는 데 사용할 수 있습니다.

셀러리 작업자는 자체 프로세스로 실행됩니다. 브로커 (예 : redis)에 연결하고 구성한 대기열에서 작업을 기다립니다. 이러한 작업은 장고 앱에서 전송됩니다.

다음 자습서는 셀보리 작업자를 실행하고 관리하도록 수퍼바이저를 구성하는 방법을 설명하는 매우 훌륭한 작업입니다. https://realpython.com/blog/python/asynchronous-tasks-with-django-and-celery/

+0

대단히 감사합니다. – Pipsqweek

관련 문제