Celery --beat on Heroku vs Worker and Clock processes Celery --beat on Heroku vs Worker and Clock processes multithreading multithreading

Celery --beat on Heroku vs Worker and Clock processes


You should have a separate worker for the beat process.

web: gunicorn voltbe2.wsgi --log-file - --log-level debugworker: celery -A voltbe2 worker -events -loglevel info beat: celery -A voltbe2 beat 

Now you can scale the worker task without affecting the beat one.

Alternatively, if you won't always need the extra process, you can continue to use -B in the worker task but also have a second task - say, extra_worker - which is normally set to 0 dynos, but which you can scale up as necessary. The important thing is to always keep the task with the beat at 1 process