0.0.0-alpha.0 • Published 6 years ago

rxfork v0.0.0-alpha.0

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

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
  }
});

Examples

  1. Hello

  2. Miner