Skip to content

Commit

Permalink
[api dist] Update everything for rebrand from jobber to neuron
Browse files Browse the repository at this point in the history
  • Loading branch information
indexzero committed Feb 16, 2011
1 parent 9e52840 commit 26a09d8
Show file tree
Hide file tree
Showing 16 changed files with 121 additions and 121 deletions.
18 changes: 9 additions & 9 deletions README.md
@@ -1,6 +1,6 @@
# Jobber
# Neuron

The simplest possible event driven job manager / FIFO queue in node.js
The simplest possible event driven job manager, FIFO queue, and "task based cache" in node.js

## Installation

Expand All @@ -11,29 +11,29 @@ The simplest possible event driven job manager / FIFO queue in node.js

### Installing forever
<pre>
[sudo] npm install jobber
[sudo] npm install neuron
</pre>

## Usage
Jobber is not a simple job queue with support for a dynamic level of concurrency. It a way to manage jobs as they are created and completed in an async, event-driven manner. Heuristics for parallelization, ordering, and pooling are simple right now and jobs are processed in a FIFO order.
Neuron is not a simple job queue with support for a dynamic level of concurrency. It a way to manage jobs as they are created and completed in an async, event-driven manner. Heuristics for parallelization, ordering, and pooling are simple right now and jobs are processed in a FIFO order.

More features may be added in the future, so keep me posted on how you use it.

### Managing Jobs
Managing jobs in jobber is easy. Jobber doesn't assume anything about the internal structure of the properties for each of your jobs except that they have a function called `work()`. Each JobManager is designed to process one instance of a Job.
Managing jobs in neuron is easy. Neuron doesn't assume anything about the internal structure of the properties for each of your jobs except that they have a function called `work()`. Each JobManager is designed to process one instance of a Job.

Here's a quick sample of creating a manager and adding a job.

<pre>
var util = require('util'),
jobber = require('jobber'),
manager = new jobber.JobManager();
neuron = require('neuron'),
manager = new neuron.JobManager();

//
// Create the manager and set the job.
//
var manager = new jobber.JobManager({ concurrency: 100 });
manager.setJob(new jobber.Job('listDir', {
var manager = new neuron.JobManager({ concurrency: 100 });
manager.setJob(new neuron.Job('listDir', {
dirname: __dirname,
work: function (dirname) {
var self = this;
Expand Down
17 changes: 0 additions & 17 deletions docs/jobber.html

This file was deleted.

32 changes: 32 additions & 0 deletions docs/neuron.html
@@ -0,0 +1,32 @@
<!DOCTYPE html> <html> <head> <title>neuron.js</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To &hellip; <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="neuron/job-manager.html"> neuron/job-manager.html </a> <a class="source" href="neuron/job.html"> neuron/job.html </a> <a class="source" href="neuron/worker.html"> neuron/worker.html </a> <a class="source" href="neuron.html"> neuron.html </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> neuron.js </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">&#182;</a> </div> </td> <td class="code"> <div class="highlight"><pre><span class="cm">/*</span>
<span class="cm"> * neuron.js: Creates and manages jobs and job results. </span>
<span class="cm"> *</span>
<span class="cm"> * (C) 2010 Charlie Robbins</span>
<span class="cm"> * MIT LICENSE</span>
<span class="cm"> *</span>
<span class="cm"> */</span>

<span class="nx">require</span><span class="p">.</span><span class="nx">paths</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">__dirname</span><span class="p">);</span>

<span class="kd">var</span> <span class="nx">neuron</span> <span class="o">=</span> <span class="nx">exports</span><span class="p">;</span></pre></div> </td> </tr> <tr id="section-2"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2">&#182;</a> </div> <h3>Export Components</h3>

<p>Export each of the core prototypes exposed by neuron.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">neuron</span><span class="p">.</span><span class="nx">JobManager</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;neuron/job-manager&#39;</span><span class="p">).</span><span class="nx">JobManager</span><span class="p">;</span>
<span class="nx">neuron</span><span class="p">.</span><span class="nx">Job</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;neuron/job&#39;</span><span class="p">).</span><span class="nx">Job</span><span class="p">;</span>
<span class="nx">neuron</span><span class="p">.</span><span class="nx">Worker</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;neuron/worker&#39;</span><span class="p">).</span><span class="nx">Worker</span><span class="p">;</span></pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">&#182;</a> </div> <h3>function randomString (bits)</h3>

<h4>@bits {int} Number of bits for the random string to have (base64)</h4>

<p>randomString returns a pseude-random ASCII string which contains at least the specified number of bits of entropy
the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">neuron</span><span class="p">.</span><span class="nx">randomString</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">bits</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">chars</span><span class="p">,</span> <span class="nx">rand</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">ret</span><span class="p">;</span>
<span class="nx">chars</span> <span class="o">=</span> <span class="s1">&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_&#39;</span><span class="p">;</span>
<span class="nx">ret</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
</pre></div> </td> </tr> <tr id="section-4"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-4">&#182;</a> </div> <p>in v8, Math.random() yields 32 pseudo-random bits (in spidermonkey it gives 53)</p> </td> <td class="code"> <div class="highlight"><pre> <span class="k">while</span> <span class="p">(</span><span class="nx">bits</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">rand</span> <span class="o">=</span> <span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nb">Math</span><span class="p">.</span><span class="nx">random</span><span class="p">()</span><span class="o">*</span><span class="mh">0x100000000</span><span class="p">)</span> <span class="c1">// 32-bit integer</span></pre></div> </td> </tr> <tr id="section-5"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-5">&#182;</a> </div> <p>base 64 means 6 bits per character, so we use the top 30 bits from rand to give 30/6=5 characters.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">26</span><span class="p">;</span> <span class="nx">i</span><span class="o">&gt;</span><span class="mi">0</span> <span class="o">&amp;&amp;</span> <span class="nx">bits</span><span class="o">&gt;</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">-=</span><span class="mi">6</span><span class="p">,</span> <span class="nx">bits</span><span class="o">-=</span><span class="mi">6</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">ret</span><span class="o">+=</span><span class="nx">chars</span><span class="p">[</span><span class="mh">0x3F</span> <span class="o">&amp;</span> <span class="nx">rand</span> <span class="o">&gt;&gt;&gt;</span> <span class="nx">i</span><span class="p">];</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nx">ret</span><span class="p">;</span>
<span class="p">};</span>

</pre></div> </td> </tr> </tbody> </table> </div> </body> </html>

0 comments on commit 26a09d8

Please sign in to comment.