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"
¿Se ha establecido 'CELERY_RESULT_DBURI' en alguna parte? –
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
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