草庐IT

twisted-iocpsupport

全部标签

python - 如何在 Twisted Klein 中异步执行代码?

我的pythonTwistedKlein网络服务中有两个函数:@inlineCallbacksdeflogging(data):ofile=open("file","w")ofile.write(data)yieldos.system("commandtouploadthewrittenfile")@APP.route('/dostuff')@inlineCallbacksdefdostuff():yieldlogging(data)print"check!"returnValue("42")当os.system("commandtouploadthewrittenfile")运行时,

python - 为什么我们不能两次调用 Twisted 延迟?

来自以下指南:http://krondo.com/blog/?p=1682Deferredshelpusavoidoneofthepitfallsweidentifiedwithcallbackprogramming.Whenweuseadeferredtomanageourcallbacks,wesimplycan’tmakethemistakeofcallingboththecallbackandtheerrback,orinvokingthecallbacktwenty-seventimes.Wecantry,butthedeferredwillraiseanexceptionr

python - twisted:一个客户端,多个服务器

我正在尝试使用twisted创建一个计算机集群,这些计算机在一个更大的数据集上运行一个程序。我的“服务器”从客户端接收一大块数据并在其上运行命令x。我的“客户端”连接到多个服务器,为每个服务器提供一大块数据,并告诉它们运行命令x使用的参数。我的问题是:有没有办法设置react器循环以连接到许多服务器:reactor.connectTCP('localhost',PORT,BlastFactory())reactor.run()或者我是否必须在我的范例中交换客户端和服务器? 最佳答案 只需多次调用connectTCP。当然,诀窍在于r

python - 我如何让 pylint 识别 twisted 和 ephem 成员?

如果我正在使用一个不存在的成员,我非常喜欢让pylint告诉我。但是,我的新项目同时使用了twisted和ephem模块,这似乎混淆了pylint。我怎样才能摆脱这些(不正确的)pylint警告而不关闭E1101,并且不在每个相关调用周围散布警告删除注释?E1101:8,0:Module'twisted.internet.reactor'hasno'run'memberE1101:49,25:sunrise_next:Module'ephem'hasno'Sun'memberE1101:63,26:sunset_next:Module'ephem'hasno'Sun'member

python - 带有 Twisted 的异步 WSGI

我正在为一个扭曲的应用程序构建一个网络界面,我想使用WSGI而不是直接使用twisted.web(因为网站的其余部分是WSGI,而且我已经有大量的WSGI代码库)。我找到的关于WSGIResource(http://twistedmatrix.com/documents/current/web/howto/web-in-60/wsgi.html)的Twisted文档页面指出:与任何其他WSGI容器一样,您不能在WSGI应用程序中执行任何异步操作,即使这是一个TwistedWSGI容器。这一定是真的吗?在WSGI中是否有一些简单的方式来处理twisted.web风格的异步Web请求——也

带有 Twisted 的 Python Web 服务

这与我之前的问题Pythonwebservice有关.我将使用Tornado在服务器和客户端之间交换信息。将有一台服务器和N个客户端。客户端将定期(每2分钟左右)发送信息(磁盘使用情况、进程等)。客户端的数据将由自定义类/列表表示。如果在另一端(服务器)有相同的数据就好了。我有使用SOAP的经验,这可能没问题(在服务器上有足够的位超时),但宁愿使用更轻巧和pythonic的东西。通信或多或少只是客户端->服务器。服务器端和客户端都是用Python编写的。我应该在Twisted文档中寻找什么来做这类事情?编辑:我不是在问如何序列化数据(JSON或pickle或XML等)。我想知道Twis

python - 将 Heapy 的内存配置文件浏览器与 Twisted.web 一起使用

我正在尝试使用Heapy分析扭曲的python代码.例如(伪代码):fromtwisted.webimportresource,serverfromtwisted.internetimportreactorfromguppyimporthpyclassRootResource(resource.Resource):render_GET(self,path,request):return"HelloWorld"if__name__=='__main__':h=hpy()port=8080site=server.Site(RootResource(mq))reactor.listenTCP

python - Twisted (Python) - cooperate 和 coiterate 有什么区别?

这里的文档http://twistedmatrix.com/documents/current/api/twisted.internet.task.html#cooperate建议区别在于合作返回CooperativeTask而coiterate返回延迟(由我自己的测试证明,未在文档中指定)。我花了整个周末学习Twisted的基础知识,所以我了解什么是Deferred,并且我一直是一个好child,可以将我的阻塞代码发送到线程/进程。我知道coiterate的运行速度与Twisted允许的一样快,而LoopingCall会尝试在选定的时间间隔内触发。我的直觉是cooperate()任务

python - 如何从控制台运行 twisted?

我在Windows7上使用Python3和Anaconda。我使用condainstalltwisted安装了Twisted,现在我正在尝试运行twisted(或twistd?)从控制台,但我得到这个错误'twisted'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.这让我觉得路径中缺少一个目录,如thisquestion.Anaconda安装在C:\Anaconda3中,但即使在C:\Anaconda3\Lib\site-packages\twisted中,也没有twisted.py或t

python - 是否可以在 Twisted 中的套接字上设置超时?

我意识到我可能只是愚蠢而遗漏了一些重要的东西,但我无法弄清楚如何使用reactor.listenUDP在twisted中指定超时。我的目标是能够指定超时,并且在所述时间后,如果DatagramProtocol.datagramReceived尚未执行,则让它执行回调或我可以用来调用reactor.stop()的东西。任何帮助或建议表示赞赏。谢谢 最佳答案 我认为reactor.callLater比LoopingCall效果更好。像这样:classProtocol(DatagramProtocol):def__init__(self,