如何在龙卷风中启动针对websocket请求的芹菜任务?

我目前正在使用软件堆栈:Tornado(Websockethandler)Celery(任务管理器)RabbitMQ(amqp)Redis作为后端.

但是我无法将Tornado和芹菜整合到websocket请求中.我们可以为它提供一些指示/示例吗?

注意我使用过CeleryMixin和Tcelery.对我来说效果不好.

提前致谢

最佳答案
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()
点赞