2017-04-06 135 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