我在javascript中創建助手bot,我想支持提醒,我的問題是它需要支持短暫超時(10分鐘)和超時超時(一個月)。
根據我的理解,使用setTimeout()
函數不適用於長時間超時,所以我想使用查找表並每秒檢查一次,但這會佔用大量資源。處理提醒超時
我想知道查找表是否是最好的選擇(就性能而言),如果是的話,是否有最佳實踐遵循。
我在javascript中創建助手bot,我想支持提醒,我的問題是它需要支持短暫超時(10分鐘)和超時超時(一個月)。
根據我的理解,使用setTimeout()
函數不適用於長時間超時,所以我想使用查找表並每秒檢查一次,但這會佔用大量資源。處理提醒超時
我想知道查找表是否是最好的選擇(就性能而言),如果是的話,是否有最佳實踐遵循。
我會創建一個函數prepareNextReminders(time_in_minutes, callback)
,它會在接下來的X分鐘內檢索提醒,例如,一小時。對於它們中的每一個,使用回調和適當的延遲創建setTimeout,並將該id添加到準備好的提醒列表中。
此函數每15分鐘運行一次,並且在每次運行中,對於尚未存在於已準備好的提醒列表中的新提醒做相同的操作。
非常感謝你,那就是我一直在尋找的東西 – Andrea
如果您使用node.js –
,您可以使用[node-cron](https://www.npmjs.com/package/cron)查看長期超時情況,您可能需要預定的執行系統我猜。 –