I did a solid webjob in azure, which works with celery.
<your repo>/App_Data/jobs/continuous/Celery/celery.cmd
At celery.cmd, I start celery like this.
set PYTHONPATH=%PYTHONPATH%;D:\home\site\wwwroot\site-packages\
cd D:\home\site\wwwroot\src
DEL D:\home\site\wwwroot\src\celery.pid
D:\Python34\python.exe -m celery -A conf worker -Q celery -c 10 -l DEBUG --pidfile D:\home\site\wwwroot\src\celery.pid
So what is happening here is that I set the python path (I'm sure it can be done globally in azure), then I just connected to the django root of the project and deleted any PID file before starting the celery command line style, When this process ends, the celery will restart again, because it is a continuous webjob.
You might want to customize the flags to suit your needs.
If you need celery to work on only one machine. You should have a file <your repo>/App_Data/jobs/continuous/Celery/settings.job:
{"is_singleton": true}
source
share