SetTimeout或使用数据库来跟踪下一个函数触发器?

时间:2018-06-07 12:24:36

标签: javascript node.js mongodb mongoose settimeout

我有一个应用程序,我正在从各种API更新数据并将其存储在本地。每个API中的数据以不同的间隔更新... 3秒,15秒和30秒。

目前,我正在更新每个API,然后设置setTimeout来安排下一次更新。它有效......但这是最佳的吗?

我考虑的另一个选项是在我的数据库模型中包含一个名为nextUpdate的字段,该字段采用Number(Unix时间戳),然后每秒查询一次数据库以查找计划更新的任何对象猫鼬,如.find({ nextUpdate: { $gt: Date.now() / 1000 })。我担心这会导致太多不必要的电话(坦白说这是我的第一个应用程序,所以我不知道每秒有多少mongo请求被认为太多了)。我目前正在使用Mlab作为我的数据库主机。

那么你会继续使用setTimeout吗?我上面提到的数据库刷新选项?还是另一种解决方案?

提前感谢您的时间和建议。

1 个答案:

答案 0 :(得分:0)

我会继续使用第一种方法,但setInterval会更合适。

第二种方法似乎只有它的缺点,除非我错过了什么?

(我希望将此作为评论发布,但无法发表评论)