rxfork

0.0.0-alpha.0 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i rxfork

Weekly Downloads

1

Version

0.0.0-alpha.0

License

ISC

Unpacked Size

7.86 kB

Total Files

16

Last publish

Collaborators

  • rphansen91