我有一个数据追加到一个火力点数据库列表中的火力HTTP功能。第二个功能被配置为在列表发生变化时处理列表,然后更新一些汇总数据。在我的情况下,这些更新爆发。我使用的是node.js的firebase功能。如何应对火力点触发功能的执行顺序
综观火力日志,我看到该序列与一个空的列表开始时:
- 的添加到从http列表 - 列表具有1名元件
- 的添加到从http列表 - 列表具有2种元素
- 的添加到从http列表 - 列表具有3个元素
- 的添加到从http列表 - 列表具有4个元素
- 总结表1个元件
- 3个元素总结列表
- 具有4个元件总结列表
- 总结表2个元素
我的问题是该摘要仅包含2个元素,而不是4。
这将出现在总结触发器函数是并行调用的,而不是顺序调用,因此当几个触发器靠近时,最后一个触发器可能是触发而不是最后触发器中的一个。
什么样的方法可以用来确保汇总计算具有“所有数据”,并降低运行速度不会覆盖以后的一个总结之前计算?可以将Firebase函数触发器序列化为按照它们启动的顺序执行吗?
理想情况下,我希望避免在突发事件发生时计算N次总结,因此某些解决方案可以在未来的某个短时间内“安排”摘要,然后取消并重新安排新事件发生会好的。
这似乎并不合理e在火力点的背景下完成一个'onChange',然后再维修下一个。特别是因为它将新状态传递给处理程序。我只是希望最后的总结知道它实际上使用了所有可用的数据。我可以添加定期更新,但数据触发更新看起来更清晰。 – Glenn
您会如何建议将所有正在运行的服务器实例中的onChange的所有正在运行的实例(对于单个路径(使用通配符))进行同步?尤其是考虑到他们可能都在做阻塞工作,可能需要大量的时间? –