问题标签 [twisted]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在twisted.web(或twisted.web2)中添加钩子?
如何在处理 twisted.web 上的请求之前和之后添加一个钩子(twisted.web2 也可以)?相当于 webpy 的:
谢谢!
python - CherryPy 干扰了 Windows 上的 Twisted 关闭
我有一个运行 Twisted 的应用程序,它reactor.run()
在启动其他一些线程(包括 CherryPy Web 服务器)后在我的主线程中启动反应器。这是一个程序,当在 Linux 上按下 Ctrl+C 而不是在 Windows 上时,它会干净地关闭:
我相信 CherryPy 是这里的罪魁祸首,因为这是我在没有 CherryPy 的情况下编写的另一个程序,当按下 Ctrl+C 时,它会在 Linux 和 Windows 上完全关闭:
有谁知道问题是什么?这是我的难题:
- 在 Linux 上一切正常
- 在 Windows 上,我可以
reactor.callFromThread
在 CherryPy 未运行时从信号处理程序调用函数 - 当 CherryPy 运行时,我从信号处理程序调用使用
reactor.callFromThread
的任何函数都不会执行(我已经验证信号处理程序本身确实被调用)
我能做些什么呢?如何在运行 CherryPy 时从信号处理程序关闭 Windows 上的 Twisted?这是一个错误,还是我只是错过了这两个项目中任何一个文档的一些重要部分?
python - Twisted 有时会抛出(似乎不完整)“超出最大递归深度”RuntimeError
因为 TwistedgetPage
函数不允许我访问标题,所以我必须编写自己的getPageWithHeaders
函数。
这与普通函数完全相同getPage
,只是我添加了 try/except 块并返回工厂对象而不是返回 factory.deferred
出于某种原因,我有时会在此处收到超出最大递归深度的错误。它在 700 次中始终发生几次,通常每次都在不同的站点上。任何人都可以对此有所了解吗?我不清楚为什么或如何会发生这种情况,而且 Twisted 代码库足够大,我什至不知道去哪里找。
编辑:这是我得到的回溯,这似乎很不完整:
这是整个回溯,显然还不足以超过我们的最大递归深度。为了获得完整的堆栈,我还需要做些什么吗?我以前从未遇到过这个问题;通常当我做类似的事情时
然后我得到了你所期望的那种“超出最大递归深度”的堆栈,其中有大量的引用f()
python - python程序选择
我的程序是 ICAPServer(与 httpserver 类似),它的主要工作是从客户端接收数据并将数据保存到 DB。
有两个主要步骤和两个线程:
- ICAPServer 从客户端接收数据,将数据放入队列(50kb <1ms);
- 另一个线程从队列中弹出数据,并将它们写入 DB SO,如果第二步太慢,队列将用这些数据填满内存。
想问问大家有没有什么建议...
python - 运行扭曲的应用程序时出错
我正在尝试运行 metajack 博客中提到的一个简单的扭曲应用程序 echo bot,一切看起来都可以正常加载,但最后我得到一个错误:
关于可能导致这种情况的任何想法?
我根本没有玩过 wokkel/twisted/python,也不知道从哪里开始看。
我尝试了另一个 wokkel/twisted 应用程序并得到了同样的错误,这毫无价值。
python - 如何更新扭曲的框架
我可以从最新的 8.2(几乎 1200 行代码)扭曲中看到我遗漏了一些东西: http ://twistedmatrix.com/trac/browser/trunk/twisted/words/protocols/jabber/xmlstream.py
我的副本(3 年前的 697 行)位于:/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/twisted/words/protocols/jabber/xmlstream.py
我运行了在网站上找到的 mac 安装程序,一切看起来都安装得很好,但显然我缺少了一些东西:http: //twistedmatrix.com/trac/wiki/Downloads
有人可以告诉我如何在我的 Mac 上正确更新 twisted 吗?
python - win32api.dll 不会安装
我正在尝试在 Windows XP 虚拟机上启动 Buildbot Buildslave:
谷歌告诉我 win32api 是 win32api.dll。我从 www.dll-files.com 下载了该文件,并按照该网站 ( http://www.dll-files.com/unzip.php ) 上的指南进行操作。当我尝试运行 regvr32 win32api.dll 时,它告诉我找不到指定的模块。
tl;dr - 我在哪里放置 win32api.dll 以便 Windows 安装它?我是否尝试使用错误的文件?(使用python 2.6版)
python - 快速的python/jython IPC?
我要做的就是通过套接字进行一些 RPC 调用。我有一台运行 jython 2.5 的后端服务器。我需要从在 CPython 上运行 Django 的前端服务器进行一些调用。我一直在努力争取任何形式的 IPC。
我尝试过的事情清单:
- Apache Thrift没有任何实际版本,只有快照。我想用一些稳定的东西。
- JSON-RPC很有趣,它应该能够在套接字上运行,但实际上大多数实现似乎只能在 HTTP 上运行。HTTP 开销正是我想要避免的。
- Protocol Buffers实际上只是一个序列化协议。从我收集的内容来看,protobuf 为 RPC 提供了接口生成,但它只是接口。实际上编写所有连接代码取决于用户。如果我将无法使用套接字,我将只使用 JSON 进行序列化。它更简单,更快。
- Pyro无法将 Jython 作为服务器正常工作。某种套接字超时问题。我已经向邮件列表发送了一条消息。
- pysage是的,用于消息传递!只有它需要 python 2.6 或处理模块(已编译扩展)。Jython 是 2.5 版,不允许编译扩展。
- Candygram是 pysage 的一个有趣的替代品,但据我所知,它没有维护。我什至没有用 Jython 尝试过。有什么经验吗?
- Twisted Perspective Broker Twisted 不适用于 Jython。
我知道用 XML-RPC 做这件事会很容易,这让我更加暴躁。我想避免 HTTP 的开销,但同时我真的不想用套接字来实现我自己的协议。如果我这样做,我会做错。
有任何想法吗?我可能会哭大约 20 分钟,然后就使用 XML-RPC。
python - 如何增加 Twisted 的连接池大小?
我使用 Twisted 8.1.0 作为套接字服务器引擎。反应堆-epoll。数据库服务器是 MySQL 5.0.67。操作系统 - Ubuntu Linux 8.10 32 位
在/etc/mysql/my.cnf
:
在源代码中:
SHOW PROCESSLIST
但实际上,当应用程序在重负载下运行时,我只能看到 200 个(或更少)打开的连接 ( )。这对我的应用程序来说还不够:(
正如我所见,这是线程池的限制。有任何想法吗?
python - 模板+脚本反向代理?
思考一个想法,想要得到反馈/建议:
在 url 重写和 nginx 方面取得了巨大成功,我现在正在考虑一个功能更强大的反向代理/路由器,它可以执行以下操作:
- 根据正则表达式匹配将请求映射到处理程序(ala Django)
- 某些请求将简单地路由到后端服务器 - 例如。静态媒体、memcached 等
- 其他请求将呈现从多个后端服务器提取数据的模板
例如,一个模板可以包括:
反向代理将向 someserver/somepage 和 otherserver/otherpage 发出 http 请求,并将结果拉入模板。
问题:
- 这个想法有意义还是坏主意?
- 是否有一个现有的包可以实现这样的东西?
- 现有的服务器+脚本如何实现这一点 - 例如。lighttpd+lua, nginx+??
- nginx+SSI 怎么样?看起来很能干,如果您有经验/建议,请发表评论。
- 像脚本语言+eventlet这样的东西怎么样?
- 扭曲?
我的偏好是用于脚本和 jinja/django 样式模板的 python,但我对替代方案持开放态度。