Estoy usando Django para escuchar comandos de voz. Iba a usar Celery como una forma de ejecutar un proceso separado para escuchar y un proceso separado para ejecutar comandos.
Cuando configuré Django con Celery, imaginé iniciar Django (./manage.py runserver) y hacer que esos dos procesos se iniciaran al inicio.
Pero hasta ahora veo que la aplicación Celery se inicia a través del shell, y Django le habla por separado.
Una GRAN parte de mi curva de aprendizaje aquí es comprender qué relación tiene Django con Celery. Tenía la intención de que todo se ejecutara dentro del entorno de Django, es decir, que Django no se ejecutara al lado de Celery.
¿Alguien puede decirme dónde me he confundido?
El apio es un proceso independiente al que Django se conecta y se comunica a través de un socket. Eso significa que el apio no se ejecutará en el mismo proceso. Deberá iniciar el apio como un proceso separado y agregar "trabajadores" que leerán los mensajes de la cola y manejarán la carga de trabajo. Al final de los documentos de apio de Django, se muestra cómo iniciar un trabajador de apio: http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#starting-the-worker- proceso
Esa misma página tiene algunos buenos tutoriales sobre cómo comenzar a usar apio:
http://docs.celeryproject.org/en/latest/primeros-pasos-con-apio.html#primeros-pasos