websocket - 如何在 celery 中为 Tornado 中的 websocket 请求启动任务?

标签 websocket celery tornado

我目前使用的软件堆栈为:Tornado (Websockethandler) + Celery(Task Manager) + RabbitMQ (amqp) + Redis 作为后端。

但是我无法集成 Tornado 和 celery 来处理 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()

关于websocket - 如何在 celery 中为 Tornado 中的 websocket 请求启动任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651894/

相关文章:

node.js - Websocket 连接断开使用 Golang 的 gorilla/websocket 包

javascript - 实时推送通知 golang

html - Socket.io发出 undefined variable React

django - Tornado 与 Django 身份验证

java - 高效的 Websocket 数据处理

python - celery 击败不接受周期性任务

python - 如何处理celery中的TimeoutError

javascript - Python 内联 js 函数不能正常工作

python - 是否可以在 Tornado 中基于模板变量运行 javascript 代码?

python - celery REST API