【问题标题】:Suggestion for syncing a mongoDB with parse.com using node.js使用 node.js 将 mongoDB 与 parse.com 同步的建议
【发布时间】:2016-02-07 03:21:02
【问题描述】:

我有几个运行 mongoDB 的树莓派来收集本地数据。我需要将此数据同步到 parse.com。我已经有从 mongo 读取并写入 parse.com 的代码(在 node.js 中)。

到目前为止,我每分钟都通过 cronjob 运行脚本。对于每个被同步的元素,脚本都会在 mongo 上写入一个标记为sync2Parse = true

问题是有时同步需要超过 1 分钟,因此同步脚本的下一次执行在旧脚本停止之前开始。这将意味着每个同步任务的 CPU 更少,从而延迟同步作业......以死循环结束。

任务很明确:尽快从mongoDB获取数据到parse.com。最好的方法应该是什么?我不需要代码来做这件事,只需要关于如何进行的战略建议。

我尝试使用mongo-watch,但显然它只适用于设置了复制的 mongoDB 数据库。

有什么想法吗?谢谢。

【问题讨论】:

  • 代替 cron 作业使用超时。在同步开始之前花费时间,并将其与同步完成后的时间进行比较。如果再次同步超过一分钟,如果没有设置超时,则剩余时间为一分钟。因此,如果同步需要 20 秒,请将超时设置为 40 秒。

标签: node.js mongodb synchronization


【解决方案1】:

解决方案是打包所有同步的代码,然后像这样调用它:

var minutes = 5, the_interval = minutes * 60 * 1000;
setInterval(function() {
  console.log("I am doing my 5 minutes check");
  // do your stuff here
}, the_interval);

取自:https://stackoverflow.com/a/8012484/1862909

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2015-02-23
    • 2016-07-18
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多