2012-09-03 3 views
5

장고 - 셀러리 여러 서버 프로덕션 환경에서,하지만 난 미해결 이러한 질문이 있습니다내가 장고를 사용하여 장고 프로젝트를 배포하려고

  • 내가 각 웹 서버에 대해 하나 celeryd을 실행해야을?
  • 내 모든 웹 서버에 액세스 할 수있는 celeryd를 실행중인 다른 컴퓨터에서 하나의 RabbitMQ 서버 만 실행해야합니까? 또는 RabbitMQ는 각 웹 서버에서도 실행해야합니까?
  • 모든 웹 서버에서 코드가 동일하면주기적인 작업을 어떻게 사용할 수 있습니까?

답장을 보내 주셔서 감사합니다.

답변

6

정말 프로젝트의 크기에 달려 있습니다. RabbitMq, 셀러리 작업자 및 다른 컴퓨터에서 실행중인 웹 작업자가 이상적입니다.

하나의 RabbitMQ와 결국 여러 대기열 작업자 만 있으면됩니다 (대기열이 많을수록 당연히 더 많은 작업자가 필요합니다).

웹 근로자 당 셀러리 근로자 1 명을 필요로하지 않으며, 웹 근로자는 브로커에 작업을 게시 한 다음 작업자가 거기에서 작업을 수행하게됩니다. 사실 웹 근로자는 브로커에 연결된 작업자의 양을 걱정하지 않습니다. 브로커와 만 통신합니다. 물론

당신은 동일한 하드웨어에 모든 것을 유지하고 낮은 예산을 유지하고 당신이 동일한 코드를 갖고 싶어 :)

를 흐르는 트래픽과 돈을 기다릴 의미가 프로젝트를 시작하는 경우 셀로리 근로자/웹 서버 또는 다른 앱과 상관없이 앱 실행중인 모든 인스턴스.

+0

각 작업자가 동일한 대기열을 읽도록하려면 어떻게해야합니까? 나는 여러 시간 동안 모범을 찾고자했지만 아무 것도 찾지 못했습니다. 감사. – user2372074

관련 문제