嗨,我遇到了node-schedule 的这个问题,我正在设置一个在特定日期发生new Date()
的工作,从指定日期开始工作的时间开始,node-schedule然后每分钟重复一次工作,而不是停止我怎么能阻止它这样做,这是我的功能:
const sessionHelper = async (req, res, next) => {
console.log(req.sessionID);
console.log('inside the session helper function!!!!!!!!')
const id = req.sessionID;
const findSession = await AuthServiceInstance.sessID({id}); // authservice is what i am using to communicate and get the session obj from the DB table
console.log(typeof findSession.expire)
console.log(findSession.expire)
const time = new Date(findSession.expire); // this is the date from the database
console.log('time')
console.log(time) // is basically 3 minutes into the future
const job = schedule.scheduleJob(time, async () => {
console.log('schedule has started');
console.log('session done');
})
next()
}
我有快速会话生成 cookie 并将其发送到数据库的函数的一些背景知识。cookie 在 3 分钟后仅保留 3 分钟,它通过 express-session 自动且很好地从浏览器中删除,但至于数据库,我必须重新启动服务器,然后将其从数据库中删除。所以这就是为什么我想使用node-schedule来运行这个函数并让它最终删除 cookie。
当我在 3 分钟结束时对其进行测试时,节点计划运行该作业,但它每分钟都在重复该作业,所以我怎样才能阻止它重复该作业并使其只运行一次?