我正在构建一个小型系统,它从 mongodb 集合中抛出数据,它已经工作正常,但每次进行更改时我都必须重新启动它。
我已经有一个监视器可以检测更改并自动重新启动服务器,但我想对 mongodb 更改执行类似的操作。
我当前使用 CentOs 5、Nginx、uWsgi 和 python2.7。
我会考虑使用可尾游标 http://www.mongodb.org/display/DOCS/Tailable+Cursors,它们在到达集合末尾后仍保持活动状态,并且可以阻塞直到有新对象可用。
Using PyMongo http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find,你可以打电话Collection.find
with a tailable=True
选项来启用此行为。这博客文章 http://shtylman.com/post/the-tail-of-mongodb/给出了一些很好的用法示例。
此外,不仅仅是查询集合,它只会提醒您新对象added对于该集合,您可能想要查询数据库的oplog,它是对数据库中任何集合调用的所有插入、更新和删除的集合。请注意,必须为 mongo 启用复制才能保留 oplog。看看这个博客文章 http://www.kchodorow.com/blog/2010/10/12/replication-internals/有关 oplog 和启用复制的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)