Así es como empiezo las tareas periódicas de apio. Primero ejecuto este comando:
celery worker -A my_project.celeryY después de eso este comando:
celery -A my_project beat -l info -S djangoDespués de ejecutar estos dos comandos en dos pestañas de terminal diferentes, mis tareas periódicas de celery beat comienzan a ejecutarse. Si no ejecuto uno de los comandos descritos, mis tareas periódicas no se ejecutan. Mi pregunta es: ¿hay alguna forma de iniciar el apio con el comando único, o incluso mejor con el comando de servidor de ejecución?
Su método de usar Celery es correcto. Puede usar el parámetro -B, --beat para iniciar el ritmo y el trabajador usando un solo comando:
# This will start worker AND beat process celery worker --app=my_project -l=INFO --beat -S djangoPero no use esto en producción, vea esta nota en los documentos de Celery ( http://docs.celeryproject.org/en/latest/reference/celery.bin.worker.html ):
-Bestá destinado a ser utilizado con fines de desarrollo. Para el entorno de producción, debe comenzar a batir el apio por separado .
Algunas notas: 1) Creo que no hay forma de ejecutar Celery y runserver juntos (honestamente, creo que no es una buena idea); 2) Veo la etiqueta django-celery en su pregunta. Esta es una forma antigua y obsoleta de integrar Django y Celery:
ESTE PROYECTO SOLO SE REQUIERE SI DESEA UTILIZAR LA INTEGRACIÓN DE ADMINISTRACIÓN Y EL RESULTADO DE DJANGO (Fuente: https://github.com/celery/django-celery )