在NodeJ中的特定时间及其生命周期后执行一个函数

时间:2016-07-26 09:29:28

标签: node.js timer

在我使用mongodb的节点应用程序中,我有一个功能,用户可以在其中发布租借书籍,其他用户可以使用“whenDate”请求它们。一个帖子只映射到一本书。

从现在起5天后,考虑用户请求1周的图书。在这种情况下,我想把这本书锁定一个星期,以便在那段时间没有其他人可以请求。

1)我怎么能在NodeJs中实现一个函数在一段时间后执行,考虑到我将拥有它们中的很多?在上述情况下,此功能将在5天后执行,以锁定特定的书籍文档。请同时考虑问题2.

2)如果我重新启动应用程序,我不希望删除这些计时器。我怎样才能做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用mongo DB中的TTL功能在生存时间后自动丢弃记录。

我们假设您保留一张包含预订请求的表格,并根据预订时间设置TTL。然后,Mongo DB可以在达到TTL后删除这些预订记录。因此,您的node.js应用程序不需要触发任何作业。

参考:https://docs.mongodb.com/manual/tutorial/expire-data/