我目前正在使用软件堆栈:Tornado(Websockethandler)+ Celery(任务管理器)+ RabbitMQ(amqp)+ Redis作为后端。
但是我无法将Tornado和芹菜整合为websocket请求。我们可以为它提供一些指示/示例吗?
注意我使用过CeleryMixin和Tcelery。对我来说效果不好。
提前致谢
答案 0 :(得分:2)
https://github.com/mher/tornado-celery允许从Tornado调用Celery任务
from tornado import gen, web
import tcelery, tasks
tcelery.setup_nonblocking_producer()
class AsyncHandler(web.RequestHandler):
@asynchronous
def get(self):
tasks.echo.apply_async(args=['Hello world!'], callback=self.on_result)
def on_result(self, response):
self.write(str(response.result))
self.finish()