gearman-stream
gearman-stream
is a stream that serves as a wrapper around a gearman client, allowing you to stream the payload and any worker data.
Install
npm install gearman-stream
Usage
gearman-stream
supports taking the payload in two ways:
-
As a constructor option, in which case it's a
Readable
stream -
From streaming data, in which case it's a
Transform
stream
Examples
Readable
var GearmanStream = ; var gearmanOpts = host: 'localhost' port: 4730;var streamOpts = highWaterMark: 10;var payload = JSON; // Stream that writes 10, 11, 12, 13, 14, 15var add10Worker = streamOpts gearmanOpts 'add10' payload;
Transform
Note: The implementation or ArrayStream is left as an exercise to the reader.
var GearmanStream = ;var JSONStream = ; var gearmanOpts = host: 'localhost' port: 4730;var streamOpts = highWaterMark: 10; var add10Worker = streamOpts gearmanOpts 'add10';var readable = 0 1 2 3 4 5;var stringifyArray = JSONStream;readable; // 10, 11, 12, 13, 14, 15
All together
var GearmanStream = ;var JSONStream = ; var gearmanOpts = host: 'localhost' port: 4730;var streamOpts = highWaterMark: 10;var payload = JSON; var add10Worker = streamOpts gearmanOpts 'add10' payload;var sumWorker = streamOpts gearmanOpts 'sum';var stringifyArray = JSONStream;add10Worker // 75
Testing
You must have the Gearman daemon running.
gearmand -d
make test