def drain_queue(queue): """Strip a (declared) queue from all outstanding messages""" if not queue: return if not queue in queues.QUEUES: print "Queue %s not configured" % queue return print "Queue to be drained: %s" % queue if not get_user_confirmation(): return client = AMQPClient() client.connect() tag = client.basic_consume(queue=queue, callback=callbacks.dummy_proc) print "Queue draining about to start, hit Ctrl+c when done" time.sleep(2) print "Queue draining starting" num_processed = 0 while True: client.basic_wait() num_processed += 1 sys.stderr.write("Ignored %d messages\r" % num_processed) client.basic_cancel(tag) client.close()