Python:在实例之间共享数据

标签 python redis tornado

我目前正在使用 Tornado Webserver 运行 python 应用程序。我使用 Supervisord 在不同的端口上启动 4 个 Tornado 实例。在这些之前,我正在运行 Nginx 以在服务器之间进行负载平衡。

问题是我已经实现了长轮询,这意味着我需要在不同的 Tornado 实例之间共享数据。

据我了解,当用户发送请求时,他会连接到其中一个 Tornado 实例,但回调仅保存在该单个实例中,并且推送的数据只会被推送到单个实例上的回调。

如何在实例之间共享回调?我一直在玩 Redis,这里的问题是如何将回调保存在 keystore 中?有没有更简单的方法?或者我如何在 Redis 中执行此操作?

我一直在看这个帖子,但他们并没有真正给我完整的答案:

Sharing data between multiple tornado instances

谢谢!

最佳答案

你不能把回调放在redis中。相反,您将数据 放在redis 中,每个进程读取该数据并将其传递给自己的回调。

关于Python:在实例之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21210076/

相关文章:

Python 将多个数据框中的列合并到单个数据框中

python - 将通配符参数从 bash 传递到 python

redis - 在没有 AOF 的情况下,是否可以在崩溃后保持 Redis 中集合的一致性?

caching - 什么是缓存驱动程序中的分布式原子锁?

lua - Redis 路亚 : dynamic number of keys in redis call

regex - 我们可以在 Tornado RequestHandler 中访问 URL 的路径参数吗?

python - 在类中实现花式索引

python - 有没有办法在 pandas 数据框中显示分类自变量的回归系数?

dojo - 使用 Python 的实时通知

python - HTML 内部,Python 中的 URL 重映射库