async.auto({ contents: function (callback) { contentsModel.find({ _id: { $in: ids } }) .select('_id thumbnail media') .lean() .exec(callback); }, removeContents: ['contents', function (callbac, results) { async.eachLimit(results.contents, 100, function (content, callback) { contentsModel.remove({ _id: { $in: ids } }, callback); }, callback); }], updateMedia: ['contents', function (callback, results) { async.eachLimit(results.contents, 20, function (content, callback) { if (content.thumbnail) content.media.push(content.thumbnail); mediaModel.update({ _id: { $in: content.media } }, { $pull: { quotes: content._id } }, { multi: true, runValidators: true }, callback); }, callback); }] }, function (err) { if (err) { err.type = 'database'; return callback(err); } callback(); });
async.eachLimit(pages, 20, function (item, callback) { var media = [];
let _downImages = (images, cb) => { const limit = 6 async.eachLimit(images, limit, _downImage, (err) => { cb(err) }) }
function main() { const chapters = getChapters(PARTS); console.log('starting to build'); async.eachLimit(chapters, 4, function(d, cb) { console.log('building ' + d.chapter); webpack(config(d), cb); }, function(err) { if(err) { return console.error(err); } }); }
decompress(files, next) { if (!_.isArray(files)) { const fromFile = this.server.path(files); const toDir = fromFile.substring(0, _.lastIndexOf(fromFile, '/')); this.systemDecompress(fromFile, toDir, next); } else if (_.isArray(files)) { Async.eachLimit(files, 1, (file, callback) => { const fromFile = this.server.path(file); const toDir = fromFile.substring(0, _.lastIndexOf(fromFile, '/')); this.systemDecompress(fromFile, toDir, callback); }, next); } else { return next(new Error('Invalid datatype passed to decompression function.')); } }
/** * perform the given worker function on the given tasks in parallel * @param tasks * @param worker * @param runners * @returns {Promise} */ parallel(tasks, worker, runners = this._parallel) { return new Promise((resolve, reject) => { async.eachLimit(Array.from(tasks), runners, worker, error => { if (error) return reject(error); resolve(); }); }); }
async.eachLimit(this._shards, 10, _.bind(this._getShardRecords, this, records), function (err) { if (err) return callback(err) callback(null, records) })
_processLogEntries(params, done) { const { maxParallelReaders } = this.ingestionConfig; return async.eachLimit(this.logReaders, maxParallelReaders, (logReader, cb) => { if (logReader.isBatchInProgress()) { this.log.debug('ingestion batch still in progress', { zenkoBucket: logReader.getTargetZenkoBucketName(), location: logReader.getLocationConstraint(), }); return cb(); } return logReader.processLogEntries(params, error => { if (error) { this.log.warn('error processing log entries', { error, zenkoBucket: logReader.getTargetZenkoBucketName(), location: logReader.getLocationConstraint(), }); } // do not escalate error to avoid crashing pod // instead retry on next cron return cb(); }); }, done); }
_addProvisionZkNodes(provisionList, cb) { async.eachLimit( provisionList.map( item => `${PROVISIONS}/${item}`), 20, (zkPath, done) => this._client.create(zkPath, err => { if (err && err.getCode() !== zookeeper.Exception.NODE_EXISTS) { this._log.error('error adding provision node', { zkPath: `${this._zkEndpoint}${zkPath}`, error: err }); return done(err); } this._log.debug('added new provision zk node', { zkPath: `${this._zkEndpoint}${zkPath}` }); return done(); }), cb); }
_suman.log.info(util.inspect(files.map(v => v[0]))); async.eachLimit(files, 5, function (f: string, cb: Function) {
new Promise(function (resolve, reject) { var results = { loaded: [ ], failed: [ ], errors: [ ] } async.eachLimit(stories, 4, function (story, cb) { story.load(function (err) { if (err) { results.failed.push(story) results.errors.push(err) } else { results.loaded.push(story) } return cb(err) }) }, function (err) { if (err) { return reject(err) } return resolve(results) }) }).nodeify(cb)
async.eachLimit(paths, 5, function (p: string, cb: Function) {
async.eachLimit(jobs, CONCURRENCY, function (job, callback) { pool.getConnection(function(err, connection) { connection.query('SELECT 1', function(err) { connection.release(); callback(err); }); }); }, function() { pool.end(function() { var diff = process.hrtime(startTime); var executionTime = diff[0] + diff[1] / 1e9; console.log('- Execution time : ' + executionTime + ' seconds'); var executionsPerSecond = parseInt(TOTAL_EXECUTIONS / executionTime, 10); console.log('- Executions per second : ' + executionsPerSecond); }); });
function main() { const chapters = getChapters(PARTS); console.log('starting to build'); async.eachLimit(chapters, 4, function(d, cb) { console.log('building ' + d.chapter); webpack(config(d), cb); }, function(err) { if(err) { return console.error(err); } }); }