Python后台程序框架
怪我咯
怪我咯 2017-04-18 09:36:42
0
0
300

在我的物联网设计中,以Twsited为基础构建了:

  • TCP/UDPSocketServer,

  • WebServer,

  • CoAP Proxy,

  • MQTT Clients。

这些都通过Redis Pub/Sub交换数据和任务。算是最简单的微服务架构了。

但是一些任务需要采用单独进程完成,比如接收到的接入端报警、电邮请求、事件触发、IP地址查询等。这些都从之前的服务器中剥离出来。目前我也打算从Twisted开始构建,作为Redis Sub Client,然后分别启动新的线程去做。

但是,我觉得以Python社区的风格,应该有更加现成的框架吧?我到不在乎是否是Twisted,还是其他运维框架。

更新1

这个应该算是分布式任务队列,属于业务系统的一部分,和SaltStack之类的运维工具不一样。归类在这个类别的Python框架有:Celery, RQ,MRQ,Huey。其中Celery依赖性太多,RQ只用Pickle做序列化,而MRQ的Redis居然没有AUTH,Huey没有测试。

更新2

MRQ的Mongo没有删除,Huey测试成功。但是,Huey尚不能够支持Twisted前端。此外,基于Twisted的后端设计已经支持了调度单独线程的方法,还需要增加对于延时任务、间隔任务、定时任务的支持。

不过现在觉得在Twisted设计中,不希望有Blocking API,所以subscribe通道可以采用异步推送的方式。而Redis列表采用的Push/Pop方式,需要Twisted不断地调用llen()/pop()方法。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!