You can always return messages that you do not need ( if order is not a problem )
def get_my_job():
while True:
job = q.get()
if job == 'mine':
return job
q.put(job)
time.sleep(random()/2)
, , .
queues = { 'queue4worker_type1': Queue(),
'queue4worker_type2': Queue(),
}