https://github.com/bitliner/1-of
Build easily and run distributed task. Based on Redis and Kue.
https://github.com/bitliner/1-of
Last synced: 5 days ago
JSON representation
Build easily and run distributed task. Based on Redis and Kue.
- Host: GitHub
- URL: https://github.com/bitliner/1-of
- Owner: bitliner
- Created: 2017-09-07T07:27:38.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-07T09:13:53.000Z (almost 9 years ago)
- Last Synced: 2025-09-21T16:35:49.929Z (9 months ago)
- Language: JavaScript
- Size: 3.79 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 1-of
Build easily and run distributed task.
Based on Redis and Kue.
## Usage
**Create a computing unit**
```
const Computing = require('1-of').computing;
module.exports = new Computing('double', (input, progress, done) => {
progress(0, 0, input * 2);
done();
});
```
NB: you can return more than 1 result by using progress.
**Create a runner**
```
const Runner = require('1-of').runner;
const streamify = require('stream-array');
const {Transform} = require('stream');
streamify([2, 4, 6]) // stream an array of integer
.pipe(new Transform({
objectMode: true,
transform: function(chunk, encoding, done) {
console.log('Pushing a number', chunk);
this.push(chunk);
done();
}
}))
.pipe(new Runner().asStream('double'))
.pipe(new Transform({
objectMode: true,
transform: function(chunk, encoding, done) {
console.log('Result is', chunk)
done();
}
}))
.on('end', () => {
console.log('End!!!')
})
```
**Start redis**
`docker run -p 6379:6379 redis`
**Run program**
1. `node example/computing.js`
2. `node example/run.js`
# TODO
[ ] - Logging