Criação e roteamento de filas dinâmicas de aipo

Estou tentando chamar uma tarefa e criar uma fila para essa tarefa se ela não existir e, em seguida, inserir imediatamente nessa fila a tarefa chamada. Eu tenho o seguinte código:

@task
def greet(name):
    return "Hello %s!" % name


def run():
    result = greet.delay(args=['marc'], queue='greet.1',
        routing_key='greet.1')
    print result.ready()

então eu tenho um roteador personalizado:

class MyRouter(object):

    def route_for_task(self, task, args=None, kwargs=None):
        if task == 'tasks.greet':
            return {'queue': kwargs['queue'],
                    'exchange': 'greet',
                    'exchange_type': 'direct',
                    'routing_key': kwargs['routing_key']}
        return None

isso cria uma troca chamadagreet.1 e uma fila chamadagreet.1 mas a fila está vazia. A troca deve ser apenas chamadagreet que sabe como rotear uma chave de roteamento comogreet.1 para a fila chamadagreet.1.

Alguma ideia?

questionAnswers(1)

yourAnswerToTheQuestion