草庐IT

twisted-iocpsupport

全部标签

python - 每天使用 twisted 重置 redis 键

我正在使用Twisted引擎和Redis。我需要每天清除一些redis键(在12点钟,以维护日常数据)。我尝试使用task.LoopingCall,效果很好。它会在24小时后清除key,但问题是,要执行此操作,我需要在12点启动引擎。所以LoopingCall可以设置为24小时。与其在12点启动引擎,有没有更好的方法使用twisted和redis本身?据我所知,我们可以使用cronejob来完成此操作。但它好还是有其他选择? 最佳答案 假设您的意思是要在本地时间上午12:00清除这些key,首先您需要安装tzlocal包裹:$pip

python - 如何加载测试基于客户端/服务器的 redis、twisted 和 iPhone 应用程序

我想模拟数千个客户端同时连接到我的服务器,看看它是否可以处理?我只是想使用我的iPhone和iPhone模拟器来创建连接,但这不是实时模拟。如何进行负载测试?这是我的服务器代码示例:fromtwisted.internet.protocolimportFactory,Protocolfromtwisted.internetimportdeferclassSTSFactory(Factory):def__init__(self,conn):self.conn=connself.protocol=STSProtocolclassSTSProtocol(Protocol):deflog(se

python - Twisted:建议使用需要的 txredisapi 库

下面我提供了一个代码示例,它使用来自Redis的数据简单地响应HTTPGET请求:请求:http://example.com:8888/?auth=zefDWDd5mS7mcbfoDbDDf4eVAKb1nlDmzLwcmhDOeUc响应:get:u'"True"'这段代码的目的是作为一个REST服务器(这就是我使用lazyConnectionPool的原因)响应请求,并使用来自Redis的数据(读/写)。我需要做的:在IndexHandler的render_GET中对Redis运行多个请求(如GET、HMGET、SET等)在IndexHandler的render_GET内的事务中运行

python - Twisted Python 中的另一个生产者/消费者问题

我正在构建一个服务器,它使用TwistedPython在Redis之上存储键/值数据。服务器通过HTTP接收一个JSON字典,将其转换为Python字典并放入缓冲区。每次存储新数据时,服务器都会安排一项任务,使用txredis客户端从缓冲区中弹出一个字典并将每个元组写入Redis实例。classDatastore(Resource):isLeaf=Truedef__init__(self):self.clientCreator=protocol.ClientCreator(reactor,Redis)d=self.clientCreator.connectTCP(...)d.addCa

twisted - 你如何*正确地*从 Tornado 查询 Redis?

我很好奇Tornado推荐的查询Redis(或任何数据库)的方法是什么。我见过一些像https://gist.github.com/357306这样的例子但他们似乎都在使用对redis的阻塞调用。我的理解是,为了避免让Tornado停止运转,我需要使用非阻塞数据库库,例如为Twisted开发的库。我错了吗?这应该如何完成? 最佳答案 当谈到阻止像BLPOP这样的命令或监听Pub/Subchannel时,你需要一个像tornado-redis这样的异步客户端。.你可以从thisdemo开始看看如何tornado-redis客户端可用于

python - Twisted:在延迟的子进程和 http 请求之间进行通信?

背景:我有一个长时间运行的扭曲生成的子进程。我以这样一种方式对流程协议(protocol)进行了子类化,即当我收到stdout、stderr等时我会知道我希望单独的http请求(在一系列时间)能够通过共享变量或全局类或其他东西检查这些正在运行的进程的状态。问题:我如何让子进程协议(protocol)的事件监听器“丢弃”数据,以便稍后的http请求“获取”。 最佳答案 创建一个“邮箱”对象;为了争论起见,假设它是一个列表。这可以是字典、对象、文件或数据库;无论你想要什么。适合您的应用程序的任何内容。然后,当您实例化您的ProcessP

python-twisted 和 SIGKILL

我有一个使用twisted框架的python应用程序。我利用存储在由twistd生成的pid文件中的值。启动器脚本会检查它是否存在,如果pid文件已经存在,则不会生成守护进程。但是,twistd在收到SIGKILL信号时不会删除.pid文件。这使得启动器脚本认为守护进程已经在运行。我意识到停止守护进程的正确方法是使用SIGTERM信号,但问题是当启动守护进程的用户注销时,守护进程永远不会收到SIGTERM信号,所以显然它被SIGKILL杀死了。这意味着一旦用户注销,他将永远无法再次启动守护进程,因为pid文件仍然存在。在这种情况下,有什么方法可以使该文件消失吗?

python - 如何使用 Twisted Words Python 库创建一个简单的 Google Talk 客户端?

我有兴趣使用Python制作GoogleTalk客户端,并希望使用Twisted库Words模块。我查看了这些示例,但它们不适用于当前的GoogleTalk实现。有人遇到过这个问题吗?您介意记录一个简短的教程吗?作为一项简单的任务,我想创建一个客户端/机器人来跟踪我的各种GoogleTalk帐户的在线时间,以便获得一个汇总数字。我想我可以将每个帐户中的机器人加为好友,然后使用XMPP存在信息来跟踪我可以汇总的时间。谢谢。 最佳答案 wokkel是扭曲文字的future。metajack写的真好blogpost开始吧。如果您想要一个不

python - Linux 上的 Twisted 安装失败

我尝试从我的Linux服务器上的源代码在Linux上安装twisted。当我使用此命令setup.pyinstall时,它失败并显示以下错误消息:twisted/runner/portmap.c:10:20:error:Python.h:Nosuchfileordirectorytwisted/runner/portmap.c:14:error:expected‘=’,‘,’,‘;’,‘asm’or‘__attribute__’before‘*’tokentwisted/runner/portmap.c:31:error:expected‘=’,‘,’,‘;’,‘asm’or‘__at

python - Python 的 Twisted Reactor 是如何工作的?

最近,我一直在研究Twisted文档。从我收集到的信息来看,Twisted功能的基础是其称为“react器”的事件循环的结果。react器监听某些事件并将它们分派(dispatch)到已注册的回调函数,这些回调函数旨在处理这些事件。在书中,有一些伪代码描述了Reactor的作用,但我无法理解它,这对我来说没有任何意义。whileTrue:timeout=time_until_next_timed_event()events=wait_for_events(timeout)events+=timed_events_until(now())foreventinevents:event.pr