var
async = require(
'async'
)
;
var playerInfo = [] ;
for ( var i = 0 ; i < 100 ; i++){
playerInfo[i] = { id : i} ;
}
var tempPlayerInfo = [] ;
async. waterfall ([
function addMail (cb){
var temp = playerInfo. splice ( 0 , 10 ) ;
tempPlayerInfo = tempPlayerInfo. concat (temp) ;
setTimeout ( function (){
if (playerInfo. length > 0 ){
console . log ( 'playerInfo.length=' , playerInfo. length , tempPlayerInfo. length ) ;
addMail (cb) ;
} else {
cb() ;
}
} , 200 ) ;
} ,
function pushMailMsg (cb){
var temp = tempPlayerInfo. splice ( 0 , 10 ) ;
setTimeout ( function (){
if (tempPlayerInfo. length > 0 ){
console . log ( 'tempPlayerInfo.length=' , tempPlayerInfo. length ) ;
pushMailMsg (cb) ;
} else {
cb() ;
}
} , 200 ) ;
}
] , function (err){
console . log ( 'end' ) ;
}) ;
分批处理 降低服务器压力
var playerInfo = [] ;
for ( var i = 0 ; i < 100 ; i++){
playerInfo[i] = { id : i} ;
}
var tempPlayerInfo = [] ;
async. waterfall ([
function addMail (cb){
var temp = playerInfo. splice ( 0 , 10 ) ;
tempPlayerInfo = tempPlayerInfo. concat (temp) ;
setTimeout ( function (){
if (playerInfo. length > 0 ){
console . log ( 'playerInfo.length=' , playerInfo. length , tempPlayerInfo. length ) ;
addMail (cb) ;
} else {
cb() ;
}
} , 200 ) ;
} ,
function pushMailMsg (cb){
var temp = tempPlayerInfo. splice ( 0 , 10 ) ;
setTimeout ( function (){
if (tempPlayerInfo. length > 0 ){
console . log ( 'tempPlayerInfo.length=' , tempPlayerInfo. length ) ;
pushMailMsg (cb) ;
} else {
cb() ;
}
} , 200 ) ;
}
] , function (err){
console . log ( 'end' ) ;
}) ;
分批处理 降低服务器压力