关闭。这个问题需要详细或明确。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,添加细节并澄清问题。
昨天关门了。
改进这个问题
我在api中有一个时间表选项,就像我在expressjs和nodejs中所做的那样。我们的后端使用两个参数(userid和timestamp)调用这个api。目标是在指定时间(…或几分钟后)删除用户信息(文件夹、文档等)。时间戳可以是5分钟到2天。
当它发生时,作业已经完成,api正在等待另一个调用。api每天可以接收1000个调用,因此性能非常重要。将来运行函数的最佳方式是什么?
async function scheduledAction(userId, timestamp) {
var actionInFuture = await checkDate(timestamp);
if(actionInFuture) {
console.log('Action triggered');
}
}
async function checkDate(timestamp) {
await new Promise(resolve => {
setTimeout(resolve, 1000)
});
// timestamp = 1627311533000
if(Date.now() >= timestamp) {
return true;
} else {
return checkDate(timestamp);
}
}
app.get('/action', (req, res) => {
scheduledAction(req.query.userId, req.query.timestamp);
}
scheduledAction(req.query.userId, req.query.timestamp);
1条答案
按热度按时间8gsdolmq1#
您可以使用节点计划包,https://www.npmjs.com/package/node-schedule
例如: