2012-09-03 14 views
5

que tratan de implementar un proyecto de Django Django usando, pero tengo estas preguntas sin resolver:django-apio en el entorno de producción de varios servidores

  • debo realizar una celeryd para cada servidor web?
  • ¿Debo ejecutar solo un servidor RabbitMQ, en otra máquina (no) que se ejecute allí, accesible a todos mis servidores web? o RabbitMQ debe ejecutarse también en cada uno de los servidores web?
  • ¿Cómo puedo usar tareas periódicas si el código es el mismo en todos los servidores web?

Gracias por su respuesta.

Respuesta

6

Realmente depende del tamaño del proyecto, lo ideal sería que RabbitMq, los trabajadores del apio y los trabajadores de la web se ejecuten en diferentes máquinas.

Solo necesita un RabbitMQ y, finalmente, varios trabajadores de cola (las colas más grandes necesitan más trabajadores, por supuesto).

No necesita 1 apio trabajador por webworker, los webworkers van a publicar tareas para el intermediario y luego los trabajadores obtendrán de allí, de hecho, el webworker no se preocupa por la cantidad de trabajadores conectados al agente como solo se comunica con el agente.

Por supuesto, si usted está comenzando un proyecto que tiene sentido para mantener todo en el mismo hardware y mantener bajo presupuesto y esperar a que el tráfico y el dinero fluya :)

¿Quieres tener el mismo código en todas las instancias en ejecución de su aplicación, sin importar si son empleados de apio/servidores web o lo que sea.

+0

¿Qué debo hacer para que cada trabajador lea la misma cola? Pasé muchas horas buscando un ejemplo, pero no encontré nada. Gracias. – user2372074

Cuestiones relacionadas