从Tornado发送POST请求到Django休息框架,实时聊天应用程序

时间:2015-08-24 07:43:36

标签: python django rest chat tornado

我正在开发一款需要处理10k +消息的移动聊天应用。 我想通过从龙卷风发送邮件请求到django rest来将每条消息保存到数据库。 我不知道哪个是写我的帖子请求的最好方法,不要放慢服务器的速度。

这是我的功能:

{{1}}

谢谢!

1 个答案:

答案 0 :(得分:2)

Tornado是一个异步服务器,所以你也应该以异步方式发送该post请求。 urllib2将阻止整个工作人员等待响应,该工作人员在发布完成之前不会接受任何其他请求。你应该使用龙卷风的httpclient

request = httpclient.HTTPRequest(endpoint, body=json.dumps(data), method="POST", headers={"content-type": "application/json"})
response = yield http_client.fetch(request)
print response

所有代码都应该在coroutine中。您还可以使用AsyncHTTPClient,在请求完成时调用您的回调,而不是为此创建正确的协程。