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