Turns out the docs are wrong. One can't set directory = $HOME/current/
in supervisord.conf
. Replace it with /home/dotcloud/current/
and you're good to go.
I still couldn't get django-admin.py
to work; I'm assuming it gets called with a Python binary outside of the virtualenv. I find manage.py
a bit hacky; is there a better way?
My working supervisord.conf
:
[program:celery_beat]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery beat --loglevel=INFO
[program:celery_worker]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery worker -E --loglevel=INFO