我使用Celery和RabbitMQ作为经纪人。将不同的任务路由到不同的队列
创建芹菜应用实例的代码是
from celery import Celery
name = __file__.split('.')[0]
app = Celery(name)
app.config_from_object('celery_config')
@app.task
def fetch_url(url):
resp = requests.get(url)
print resp.status_code
@app.task
def post(url, **kwargs):
body = kwargs.get(payload)
auth = kwrags.get(auth)
resp = requests.put(url, data=body, auth=auth)
现在我想有2个独立的队列,一个用于GET和一个POST。
现在我知道,我必须定义芹菜配置模块的2个队列状
CELERY_QUEUES = (
Queue('default', Exchange('default'), routing_key='default'),
Queue('get', Exchange('get')),
Queue('post', Exchange('post')),
)
什么我不明白到底是什么字符串指定“routing_key”选项?它应该是任务的名称(在这种情况下获得&后)还是有定义routing_key的规则?