mjackson/firework

View on GitHub
examples/run-workers.js

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * This example uses a Runner to manage Worker instances. A
 * Runner is able to gracefully increase/decrease the number
 * of workers in a worker pool and replace workers that have
 * errors with new ones.
 */

var Firework = require('../modules');
var queue = Firework.createQueue('https://firework-tests.firebaseio.com');
var numWorkers = 5;

// This function is used to create a new worker.
function createWorker() {
  return Firework.createWorker(queue, function (job, callback) {
    // Simulate variable lengths of time.
    setTimeout(callback, Math.random() * 2000);
  });
}

// Use a Firework.Runner to manage worker instances.
var runner = Firework.createRunner(createWorker);

runner.setNumberOfWorkers(numWorkers);