clubot更新: 使用SQLAlchemy重写数据库部分和改用Tornado MainLoop

clubot在我的vps上跑了有一段时间了, 最近接触了SQLAlchemy 然后反观clubot的数据库代码部分, 感觉代码又遭有乱实在看不过眼, 所以就使用SQLAlchemy重写了数据库模块, 并将epoll的MainLoop改成仙子君所写的TornadoMainLoop 更新内容 数据库使用SQLAlchemy重写 MainLoop改用TornadoMainLoop 改变代码结构, 清理部分代码 将history命令改为old, 并支持时间查询 废弃一些不常用的命令...

comments

使用更加高效的epoll作为pyxmpp2的主循环

引子 之前clubot使用的pyxmpp2的默认mainloop也就是一个poll的主循环,但是clubot上线后资源占用非常厉害,使用strace跟踪发现clubot在不停的poll,查看pyxmpp2代码发现pyxmpp2的poll在使用超时阻塞时使用最小超时时间,而最小超时时间一直是0,所以会变成一个没有超时的非阻塞poll很浪费资源,不打算更改库代码,所以自己仿照poll的mainloop写了一个更加高效的epoll的mainloop 实现 #!/usr/bin/env...

comments

python 使用pyxmpp2编写gtalk群

gtalk是一款google开发的基于xmpp协议的聊天软件,其优点就是协议开源,我们可以通过任何支持xmpp的客户端协议来链接gtalk,但是gtalk不支持群聊天,所以各路高手都会自己来开发一个机器人来支持群功能. 其实主要原理就是机器人接收到消息后再将消息广播出去,从而达到群的效果....

comments