2017-04-06 136 views
0

我在javascript中创建助手bot,我想支持提醒,我的问题是它需要支持短暂超时(10分钟)和超时超时(一个月)。
根据我的理解,使用setTimeout()函数不适用于长时间超时,所以我想使用查找表并每秒检查一次,但这会占用大量资源。处理提醒超时

我想知道查找表是否是最好的选择(就性能而言),如果是的话,是否有最佳实践遵循。

+0

如果您使用node.js –

+0

,您可以使用[node-cron](https://www.npmjs.com/package/cron)查看长期超时情况,您可能需要预定的执行系统我猜。 –

回答

0

我会创建一个函数prepareNextReminders(time_in_minutes, callback),它会在接下来的X分钟内检索提醒,例如,一小时。对于它们中的每一个,使用回调和适当的延迟创建setTimeout,并将该id添加到准备好的提醒列表中。

此函数每15分钟运行一次,并且在每次运行中,对于尚未存在于已准备好的提醒列表中的新提醒做相同的操作。

+0

非常感谢你,那就是我一直在寻找的东西 – Andrea