タスクを呼び出し、そのタスクのキューが存在しない場合は作成し、呼び出されたタスクをすぐにそのキューに挿入しようとしています。次のコードがあります。
@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()
それから私はカスタムルーターを持っています:
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
これにより、交換が呼び出されgreet.1
、キューが呼び出されますgreet.1
が、キューは空です。というキューのgreet
ようにルーティング キーをルーティングする方法を知っている交換を呼び出す必要があります。greet.1
greet.1
何か案は?