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