Distributed computing orchestration platform
Last updated 4 years ago by gtanner .
LGPL-3.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @gtanner/farm 
SYNC missed versions from official npm registry.

bitHound Score


Welcome to the farm.

This is a simple "framework" that we use at bitHound for working in a distributed environment.


You can clone this repo, npm install and then just run:

> node examples/hello.js
hello world !!!

amazing isn't it

How to use

The idea is that you would start up a 'broker' which allows all of your worker processes to communicate with each other.


  //when your process starts:
  var broker = require('farm/lib/broker').start();

  //when your process exits:

Once you have your broker running you can have your other processes join the farm and schedule work to be done.

  var farm = require('farm');
  farm.jobs.send('show me the money', function (err, money) { });

Mind you not much will happen unless you have some processes out there that are set up to be workers:

  var farm = require('farm');

  farm.worker(function (task, callback) {
    //do something cool with the task

    //just because you are a worker, doesn't mean you can't start your own jobs
    farm.jobs.send('other task', function (err, result) {
      // you can get errors back, and pass errors along
      if (err) { return callback(err); }

      callback(null, "result");
  //just make sure you say you are a worker when you join
  farm.join('localhost', {worker: true});

Current Tags

  • 2.0.0                                ...           latest (4 years ago)

3 Versions

  • 2.0.0                                ...           4 years ago
  • 1.0.0                                ...           5 years ago
  • 0.6.0                                ...           5 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 4
Last Month 5
Dependencies (4)
Dev Dependencies (3)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |