RX Fork
Description
Rxjs prototypes to spilt compute to multiple seperate processes
Usage
Master
const { resolve } = require("path");
const { cpus } = require("os");
const { of } = require("rxjs/observable/of");
const { combineLatest } = require("rxjs/observable/combineLatest");
const { merge } = require("rxjs/observable/merge");
const file = resolve(__dirname, "child");
require("../../add/operator/fork");
const $forks = cpus().map(cpu => of(cpu).fork(file));
merge(...$forks).subscribe(
d => console.log(d),
e => console.log(e),
_ => console.log("Complete!")
);
Child
const { next, complete, error } = require("rxfork");
process.on("message", ({ type, payload }) => {
if (type === "start") {
// next(data) callback to main stream next
// error(data) callback to main stream error
// complete(data) callback to main stream complete
}
});