I have a project with lots of Celery tasks, and one of the tasks must be executed only one at a time (it is a request to a 3rd party API which disallows several concurrent connections).
I can achieve this by starting a separate celery process with a separate queue and a concurrency of 1.
Regular celery process:
celery -A sourcery worker -Q default -c 4
A separate single-worker process:
celery -A sourcery worker -Q separate_queue -c 1
But I am on Heroku, and I will be billed doubly for spinning up two processes instead of one. So, is there a way to achieve it with a single Celery process?