0

嗨,我遇到了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 分钟结束时对其进行测试时,节点计划运行该作业,但它每分钟都在重复该作业,所以我怎样才能阻止它重复该作业并使其只运行一次?

4

0 回答 0