我正在寻找最好的方式,让我的应用程序得到通知,当一个集合是更新的芒果。从我在互联网络上看到的所有内容来看,标准的做法是使用带可尾游标的上限集合,并在可裁剪游标上使用来自mongodb文档的片段下面是。
我在其中注意到,它们有一个连续的while循环,永不停止。这看起来不像是个糟糕的做法吗?我无法想象这会在缩放的时候表现的很好。
有没有人有任何洞察力,这可能是如何扩大,并仍然是表演?有什么我不明白的吗?
编辑
因此,这是一个很好的例子,在这里,我看到流只是打开的,而且由于流从未关闭,所以它只有一个侦听器在监听。我想这对我来说是有道理的。
我还查看了这 mubsub实现,其中他们使用了一个setTimeout,并暂停了1秒。
这些不是典型的坏做法吗?让流保持打开或使用这样的setTimeout不是吗?我只是老样子吗?
发布于 2015-01-14 22:10:17
我注意到在那里的片段,他们有一个连续的while循环,永不停止。这看起来不像是个糟糕的做法吗?
在我看来也是,是的。
有没有人有任何洞察力,这可能是如何扩大,并仍然是表演?
您可以在一段时间内使用标志和呼叫阻塞 --在数据可用之前,它不会阻塞,但它会阻塞一段时间。需要服务器支持(来自1.6个左右),这也是您在发布的node.js示例({awaitdata:true})中所做的工作。
在这里,他们使用一个
setTimeout和1秒的暂停。
按照我读它的方式,他们会在有规律的时间间隔内丢失光标时,重新尝试获取光标,并返回一个失败了整整一秒的错误当且仅当。
这不是典型的坏习惯吗-让小溪开着.?
您没有忘记流(这将是不好的),您继续使用它-这几乎是一个可裁剪游标的定义。
https://stackoverflow.com/questions/27951980
复制相似问题