2017-01-17 1 views
2

두 부분을 도킹하고 docker swarm service을 사용하려면 Celery를 장고에서 분리하는 가장 좋은 방법은 무엇입니까? 일반적으로 사람은 자신의 셀러리 근로자를 시작하고 셀러리가 장고 응용 프로그램을 참조하는 명령을 사용하여 이길 : 나는 셀러리는 설정 파일과 이동이 용이 한 celery.py 파일에서 설정 정보를 집어 들고 생각이에서Django와 Celery의 분리 및 도킹

celery worker -A my_app 
celery beat -A my_app 

을 마이크로 서비스. 내가 완전히 이해하지 못하는 것은 작업이 Django ORM을 어떻게 활용할 것인가? 아니면 microservices mantra와 Celery가 Django REST Framework API에 GET/POST 호출을하도록 설계되어 있어야 작업을 완료하는 데 필요한 데이터가 필요하지 않습니까?

+0

당신이에 대한 정보를 발견 일 :합니까? 나는 마치 장고를 사용하기 위해 장고/샐러리 앱을 움직이기를 원하지만, 문제를 적절히 부인하는 많은 문제에 직면하고있다. 성공했다면 듣고 싶다. – BHendricks

+0

http://matthewminer.com/2015/02/21/pattern-for-async-task-queue-results.html –

답변

1

django 앱과 해당 셀러리 작업자 모두에 대한 코드가 단일 저장소와 동일한 설정을 사용합니다.

것은 ... 나는 ORM 등 어떤 놀라움을 방지하기 위해, 모든 곳에서 동일한 코드 자료를 가지고 있는지 확인 장고 응용 프로그램에 대한 참조를

Celery 시작을 배포 할 때 그것은에 액세스 할 수 있도록 모델 등 ...

작업자와 주 앱 간의 통신은 메시징 큐 (rabbitmq 또는 redis ...)를 통하거나 데이터베이스를 통해 이루어집니다 (샐러리 작업자는 db에서 직접 작업합니다. 그것은 모델 등을 알고 있습니다 ...).

나는 그게 microservices 만트라를 다음과 있는지 확실하지 않습니다

하지만