2014-11-21 65 views
0

我试图安排一个工作,从我的mongodb数据库中删除某个文件,当我执行它的请求后立即执行作业,但请求1小时后删除文档(例如),它不会从数据库中删除。这里是我的代码:Node.js调度作业与节点时间表不工作

app.delete('logauth/removecourse/:uuid/:hours', isLoggedIn, function(req, res){ 
     if(req.user.usertype == 1) 
     { 
      Teacher.findOne({ _id : req.user.teacher }, function(err, teacher){ 
       if(err) 
       res.send(err); 

       var scheduled = schedule.scheduleJob(new Date(Date.now() + (req.params.hours * 3600000)), function(uuid, teach_id){ 
       return function(){ 
        Course.find({ _id : uuid, teacher : teach_id }).remove().exec(function(err){ 
        if(err) 
         res.send(err); 
        }); 
        } 
       }(req.params.uuid, teacher._id)); 

       if(scheduled) 
       res.send(200); 
       else 
       res.send(500); 
      }); 
     } 
     else 
     { 
      res.send(403); 
     } 
    }); 

任何提示,因为我做错了什么?

回答

1

我觉得现在的问题是,你设置的时间的方式,检查:

app.delete('logauth/removecourse/:uuid/:hours', isLoggedIn, function(req, res){ 
    if(req.user.usertype == 1) 
    { 
     Teacher.findOne({ _id : req.user.teacher }, function(err, teacher){ 
      if(err) 
      res.send(err); 
       var d = new Date(); 
       d.setHours(d.getHours()+1, d.getMinutes(), d.getSeconds()); 
      var scheduled = schedule.scheduleJob(d, function(uuid, teach_id){ 
      return function(){ 
       Course.find({ _id : uuid, teacher : teach_id }).remove().exec(function(err){ 
       if(err) 
        res.send(err); 
       }); 
       } 
      }(req.params.uuid, teacher._id)); 

      if(scheduled) 
      res.send(200); 
      else 
      res.send(500); 
     }); 
    } 
    else 
    { 
     res.send(403); 
    } 
});