Думаю, что логичнее всего использовать
asyncasync.eachLimit(records, 8, function(record, async_cb) {
/// your code
async_cb();
}, function() {
console.log('done!');
});
Будет делать 8 запросов параллельно, по завершении предыдущего будет запускаться новый запрос