我可以在芹菜中使用Python请求吗?

时间:2012-12-20 00:03:17

标签: python celery

我在一个名为tasks.py的芹菜模块中定义了以下内容,其中导入了请求库:

@celery.task
def geturl(url):
    res = requests.get(url)
    return res.content

每当我使用:

调用任务(来自tasks.py或REPL)
res = geturl.delay('http://www.google.com')
print res.get()

以下是芹菜服务器上的日志条目:

[2012-12-19 18:49:58,400:INFO / MainProcess]启动新的HTTP连接(1):www.google.com [2012-12-19 18:49:58,594:INFO / MainProcess]启动新的HTTP连接(1):www.google.ca [2012-12-19 18:49:58,801:INFO / MainProcess]任务tasks.geturl [48182400-7d67-466b-ba5c-867747cb3974]成功于0.402245998383s:无

但是当我通过调用geturl(' http://www.google.com')以同步方式运行它时,我得到了回复。我已经阅读了文档,似乎无法弄清楚为什么这不起作用。这主要用于调查API,有人可以解释为什么这不起作用?

谢谢!

1 个答案:

答案 0 :(得分:1)

res.content只是一个str个实例,没有理由你无法返回它。您的问题可能在其他地方,可能是您的芹菜配置。


Many configuration parameters play a role in how the results will be stored;看看他们。
您要检查的第一个可能是CELERY_IGNORE_RESULT

您还应该检查结果代理配置。