草庐IT

twisted-iocpsupport

全部标签

python - 我怎样才能在 twisted.web 中完成不糟糕的文件上传?

我搜索了又搜索,但似乎找不到以任何合理方式将文件上传到我的twisted.web应用程序的方法。目前,将文件上传发布到资源会产生一个request.args['file']变量,这是一个填充有文件内容的列表。我找不到获取有关文件的任何信息的方法:MIME类型、文件名、文件大小(除了获取args['file'][]中字符串的长度)等.我读到twisted.web2更擅长文件上传。但是,我不知道有多好,或者我将如何使用twisted.web2来处理twisted.web应用程序中的文件上传。有什么建议吗?这让我很烦——哦,我查看了请求header,并没有真正发现任何重要的东西。我怎样才能获

python - 在 Twisted 和 Django 之间共享数据库

我正在开发一个多人游戏服务器,它使用Django作为网络服务器(HTML前端、用户身份验证、可用游戏、排行榜等)和Twisted来处理玩家和游戏之间的连接以及与游戏本身的交互。游戏服务器、网络服务器和数据库可能运行在不同的机器上。构建共享数据库的“最佳”方式是什么,以一种支持对数据库模式进行更改的方式。我是否应该尝试将Django的ORM合并到Twisted框架中并使用deferreds使其成为非阻塞的?我是否应该坚持创建和维护两个独立的数据库模式/接口(interface),一个在Django的模型中,另一个使用twisted.enterprise.row?同样,对于用户身份验证,我

python - Twisted 的文档字符串中这些格式的含义是什么?

在twisted的源代码中,很多文档字符串包含这样的格式:L{xxx}或C{xxx}或以'@'开头的行,它们的含义是什么?例如,在twisted/internet/interfaces.py中:defregisterProducer(producer,streaming):"""Registertoreceivedatafromaproducer....ForL{IPullProducer}providers,C{resumeProducing}willbecalledonceeachtimedataisrequired....@typeproducer:L{IProducer}pro

python - 没有 errbacks 的 Twisted Deferred 错误如何通过试验进行测试?

我有一些创建多个延迟链的Twisted代码。其中一些可能会失败而没有errback将它们放回回调链上。我无法为此代码编写单元测试-失败的Deferred导致测试代码完成后测试失败。我怎样才能为这段代码编写一个通过的单元测试?是否期望每个在正常操作中可能失败的Deferred都应该在链的末尾有一个errback以将其放回回调链?当DeferredList中有一个失败的Deferred时会发生同样的事情,除非我使用consumeErrors创建DeferredList。即使DeferredList是使用fireOnOneErrback创建的,并被赋予一个errback将其放回回调链中,情况

python - 使用 Twisted 进行带宽限制

我正在尝试设置下载/上传文件的速度限制,发现twisted提供了twisted.protocols.policies.ThrottlingFactory来处理这份工作,但我做不好。我设置了readLimit和writeLimit,但文件仍在以最大速度下载。我做错了什么?fromtwisted.protocols.basicimportFileSenderfromtwisted.protocols.policiesimportThrottlingFactoryfromtwisted.webimportserver,resourcefromtwisted.internetimportrea

python - Twisted/Cyclone/Tornado 的高阶网络框架/附加组件(网络登录/用户/管理员)?

我正在为可扩展的物联网应用程序的一些架构选择而苦苦挣扎。我选择将我的项目基于Twisted增加了Cyclone框架提供很多Tornado惯例(websockets、auth-decorators、secure-cookies等)使用Twisted核心对我来说效果很好。我有许多IP协议(protocol)和硬件接口(interface),所有这些都在Twisted内部得到了很好的库支持(并且向我的应用程序添加新协议(protocol)和接口(interface)是我最有可能让项目范围蔓延的角度),所有这些都需要Twisted非常低的CPU并提供非常高的连接数。我的问题在于二阶网络应用功能

python - 如何使用Twisted查看OAuth2.0认证的Gmail

我有一个适用于Google邮件的IMAP客户端,但它最近停止工作了。我认为问题是gmail不再允许TTL用户名/密码登录,但现在需要OAuth2.0。我想知道更改下面示例的最佳方法,以便我的扭曲IMAP客户端使用OAuth2.0进行身份验证。(如果可能的话,在没有GoogleAPI包的情况下这样做。)使用用户名/密码登录的示例(不再有效)classAriSBDGmailImap4Client(imap4.IMAP4Client):'''clienttofetchandprocessSBDemailsfromgmail.themessagescontainedintheemailsare

python - 'NoneType' 对象在 scrapy\twisted\openssl 中没有属性 '_app_data'

在使用scrapy进行抓取的过程中,我的日志中时不时出现一个错误。它似乎不在我的代码中的任何地方,看起来像是twisted\openssl中的东西。知道是什么原因造成的以及如何摆脱它吗?此处的堆栈跟踪:[Launcher,27487/stderr]Errorduringinfo_callbackTraceback(mostrecentcalllast):File"/opt/webapps/link_crawler/lib/python2.7/site-packages/twisted/protocols/tls.py",line415,indataReceivedself._write

python - 使用 Celery 作为 Twisted 应用程序的控制 channel

我正在尝试使用Celery作为Twisted应用程序的控制channel。我的Twisted应用程序是一个抽象层,它为各种本地运行的进程(通过ProcessProtocol)提供标准接口(interface)。我想使用Celery来远程控制它——AMQP似乎是从中央位置控制许多Twisted应用程序的理想方法,我想利用Celery基于任务的功能,例如任务重试、子任务等这并没有像我计划的那样工作,我希望有人能帮助我指明正确的方向以实现这一目标。我在运行脚本时试图实现的行为是:开始一个稍微修改过的celeryd(见下)等待Celery任务收到“启动流程”任务时,生成ProcessProto

Python:如何使用 Twisted 作为 SUDS 的传输?

我有一个基于Twisted的项目用于与网络设备通信,我正在添加对新的支持API为SOAP的供应商(CitrixNetScaler)。不幸的是Twisted中对SOAP的支持仍然依赖于SOAPpy,这很糟糕日期。事实上,从这个问题开始(我刚查过),twisted.web.soap本身甚至在21个月内都没有更新!我想问一下是否有人有任何经验他们愿意与使用Twisted出色的异步传输共享SUDS的功能。似乎插入了自定义的Twisted运输将是SUDS的自然选择Client.options.transport,我只是有很难把我的头环绕在它周围。我确实想出了一种用SUDS调用SOAP方法的方法通