gpt4 book ai didi

python - 从 Django 控制 Twisted 服务器

转载 作者:行者123 更新时间:2023-12-01 05:53:01 26 4
gpt4 key购买 nike

我正在尝试构建一个 Twisted/Django 混搭,它可以让我控制由 Twisted server 管理的各种客户端连接。通过 Django 的管理界面。意思是,我希望能够登录到 Django 的管理员并查看当前正在使用的协议(protocol)、每个连接特定的任何详细信息(例如,如果服务器通过 IRC 连接到 freenode,它应该列出当前连接到的所有 channel ),并允许我通过修改或创建数据库记录来断开或连接新客户端。

最好的方法是什么?有很多关于combining的帖子DjangoTwisted ,但我还没有找到任何现有技术来完成我所概述的事情。我见过的所有 Twisted 示例都使用硬编码连接参数,这让我很难想象当数据库中的记录发出信号时,我将如何动态运行reactor.connectTCP(...) 或 LoseConnection(...) 。

我的策略是创建一个自定义 ClientFactory,它每隔 N 秒轮询一次 Django/托管数据库以获取任何命令,并根据需要修改/创建/删除连接,从而在完成时反射(reflect)数据库中的新状态。

这看起来可行吗?有更好的方法吗?有谁知道任何现有的项目实现类似的功能吗?

最佳答案

轮询数据库是蹩脚的,但不幸的是,数据库很少有好的工具(当然也没有数据库可移植的工具)来监视更改。所以你的方法可能没问题。

但是,如果您的应用程序位于 Django 中,并且您不支持其他(非 Django)客户端对数据库进行随机更改,并且您的 WSGI 容器是 Twisted,那么您可以通过执行 来非常简单地完成此操作callFromThread(connectTCP, ...).

关于python - 从 Django 控制 Twisted 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13523420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com