; ==================================
;  celery worker supervisor
; ==================================

[program:celery]
    command=/path/to/virtualenv/bin/celery -A [app].celery worker  --loglevel=INFO
    directory=/absolute/path/to/my_proj

    user=%(ENV_USER)s
    numprocs=1
    stdout_logfile=/var/log/celery/worker.log
    stderr_logfile=/var/log/celery/worker.log
    autostart=true
    autorestart=true
    startsecs=10

    ; Need to wait for currently executing tasks to finish at shutdown.
    ; Increase this if you have very long running tasks.
    stopwaitsecs = 600

    ; Causes supervisor to send the termination signal (SIGTERM) to the whole process group.
    stopasgroup=true

    ; Set Celery priority higher than default (999)
    ; so, if rabbitmq is supervised, it will start first.
    priority=1000