The employer needs to report these automatically or dynamically created queues, so you need a way to get these queue names and store them, perhaps when you create them or get them, perhaps from rabbitmqctl list_queues , if you use RabbitMQ as a broker, and, for example, add a signal handler to add these dynamic queues to consumed workers.
For example, using celeryd_after_setup signal:
from celery.signals import celeryd_after_setup @celeryd_after_setup.connect def add_dynamic_queue(sender, instance, **kwargs):
If you always have new dynamic queues, you can also get workers to start consuming these queues at runtime using:
#command all workers to consume from the 'dynamic_queue' queue app.control.add_consumer('dynamic_queue', reply=True)
See Adding Consumers .
Hope this helps, I will edit the question when I get more information about this.
source share