node定时处理数据

场景:当一条数据创建成功后,定时去判断修改更新该条数据

testModel.create({name:'a',num:2},function(err,doc){
if(doc){
setTimeout(do,gettime())
function do(){
 判读update数据库
}
}
})

express框架使用mongoose连接mongodb,请问实际生产环境,用setTimeout,setInterval是否可行,当然node也有定时许多模块,大家是如何处理像上面定时任务?

阅读 1.5k
1 个回答

setTimeout和setInterval可行,但是不够好。

可以额外写一个UpdateTsk 组件 ,该组件内部维护一个需要定时执行的函数数组
例如UpdateTsk.reg(CallBack_Func)等形式注册,然后由该组件自行定时定周期去调用列表中的所有callback_Func

如果是setTimeout和setInterval,到最后可能程序里就几千上万个定时器了,对效率有一定影响

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题