如何在Python中创建轮询脚本?

Hic*_*ick 2 python

我试图在python中创建一个轮询脚本,该脚本在另一个python脚本启动时启动,然后继续向该脚本提供数据.

我显然可以编写一个无限循环,但这是正确的方法吗?我可能无法控制函数的工作方式以及一小时内调用函数的次数.

编辑:

我想要完成的是调查twitter的REST API并获得新的提及和跟随我的人.我显然无法继续进行轮询,因为我每小时都会耗尽API请求.因此,问题.此轮询器将新提及和关注者id/user发送到将要监听任何此类更新的主脚本.

Dea*_*ado 6

我强烈建议使用反应器模式来研究Twisted,这是最流行的异步框架之一.

你正在寻找的"无限循环"实际上是一个Twisted实现的应用程序模式,用于异步响应事件,并且滚动自己几乎没有意义.

Twisted主要用于网络需求,但它有一个LoopingCall界面来设置您需要的功能.使用核心Twisted deferred作为您的请求模型允许您设置一个长轮询服务器,可以执行您需要的条件网络测试.它可能有点令人生畏,但是一旦你理解了你需要继承的核心组件(工厂,反应器,协议等),就可以更容易地将问题可视化.

这也可能是一个很好的教程,可以开始研究"推"模型的基础知识:http: //carloscarrasco.com/simple-http-pubsub-server-with-twisted.html