2010-07-23 12 views
12

He creado una aplicación web de Django y algunos servicios de Django-Piston. Al usar una interfaz web, un usuario envía algunos datos que se envían por correo a un servicio web y ese servicio web a su vez usa Django-apio para comenzar una tarea en segundo plano.Ejecución de Django-Apio en producción

Todo funciona bien en el entorno de desarrollo utilizando manage.py. Ahora intento mover esto a producción en un servidor apache apropiado. La aplicación web y los servicios web funcionan bien en producción, pero estoy teniendo problemas serios comenzando como un daemon. Basado en estas instrucciones: http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon Creé un archivo aplery.fig.py y lo pegué en el directorio/usr/bin (aquí es donde está la ubicación en mi servidor arch Linux).

CELERYD_CHDIR="/srv/http/ControllerFramework/" 
DJANGO_SETTINGS_MODULE="settings" 
CELERYD="/srv/http/ControllerFramework/manage.py celeryd" 

Sin embargo, cuando intento iniciar celeryd desde la línea de comandos me sale el siguiente error:

"Missing connection string! Do you have " 
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have CELERY_RESULT_DBURI set to a real value? 

No está seguro de dónde ir desde aquí. A continuación se muestra mi sección settings.py en lo que respecta a este problema:

BROKER_HOST = "localhost" 
BROKER_PORT = 5672 
BROKER_USER = "controllerFramework" 
BROKER_PASSWORD = "******" 
BROKER_VHOST = "localhost" 
+0

¿Se ha establecido 'CELERY_RESULT_DBURI' en alguna parte? –

+0

I intentado fijar ese valor a lo siguiente: CELERY_RESULT_BACKEND = 'amqp' pero me da un error cuando trato de ejecutar celeryd: [2010-07-23 12: 46: 13.138: ADVERTENCIA/MainProcess] elevar KeyError ("Falta el nombre de host para la conexión AMQP") [2010-07-23 12: 46: 13,138: ADVERTENCIA/MainProcess] KeyError [2010-07-23 12: 46: 13,138: ADVERTENCIA/MainProcess]: [2010 -07-23 12: 46: 13,139: WARNING/MainProcess] 'Falta el nombre de host para la conexión AMQP'. Dado que recibí este error y no pude encontrar en ningún lugar de la documentación de django-apio que este valor necesitara ser configurado, asumí que estaba haciendo algo mal, de nuevo. – Przemek

+0

Voy a suponer que tal vez cuando se ejecuta en producción, la configuración se supone que está en apioconfig.py? y no en settings.py En ese caso, ¿se supone que se ha agregado el archivo aplery.fig.py? – Przemek

Respuesta

8

Así llegó a tener una charla con el líder del proyecto en Django-apio. Un par de cosas. Primero apio se debe ejecutar usando 'manage.py apio'. En segundo lugar, en el archivo settings.py tienes que 'importar djcelery' Este problema de importación puede corregirse en la próxima versión, pero por ahora debes hacerlo.

Cuestiones relacionadas