场景:当一条数据创建成功后,定时去判断修改更新该条数据
testModel.create({name:'a',num:2},function(err,doc){
if(doc){
setTimeout(do,gettime())
function do(){
判读update数据库
}
}
})
express框架使用mongoose连接mongodb,请问实际生产环境,用setTimeout,setInterval是否可行,当然node也有定时许多模块,大家是如何处理像上面定时任务?
场景:当一条数据创建成功后,定时去判断修改更新该条数据
testModel.create({name:'a',num:2},function(err,doc){
if(doc){
setTimeout(do,gettime())
function do(){
判读update数据库
}
}
})
express框架使用mongoose连接mongodb,请问实际生产环境,用setTimeout,setInterval是否可行,当然node也有定时许多模块,大家是如何处理像上面定时任务?
3 回答2.7k 阅读✓ 已解决
1 回答996 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读
2 回答660 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.1k 阅读
setTimeout和setInterval可行,但是不够好。
可以额外写一个UpdateTsk 组件 ,该组件内部维护一个需要定时执行的函数数组
例如
UpdateTsk.reg(CallBack_Func)
等形式注册,然后由该组件自行定时定周期去调用列表中的所有callback_Func如果是setTimeout和setInterval,到最后可能程序里就几千上万个定时器了,对效率有一定影响