1.5.1 • Published 5 years ago

node-persistent-software v1.5.1

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

node-persistent-software

Spawn a software and keep it running

Build status Coverage status Dependency status Dev dependency status Issues Pull requests

Installation

$ npm install node-persistent-software

Doc (extends : asynchronous-eventemitter)

Attributes

  • maxCountRun: number max start iteration
  • successCountRun: number current success start iteration

Constructor

  • constructor(software: string, args?: Array<string>, options?: object) => see spawn documentation

Methods

  • max(maxIteration: number) : this change max iterations and reset current
  • infinite() : this no max iteration and reset current
  • start() : this run the software for the first time
  • end() : this stop the software and does not restart it

Events

  • on("error", (err: Error) => void) : this fire if an error occurs (use try/catch to avoid loop)

  • on("firststart", () => void) : this fire if the software starts for the first time

  • on("restart", () => void) : this fire if the software restarts
  • on("start", (child_process: child_process.ChildProcess) => void) : this fire if the software starts (firststart && restart) => see spawn documentation

  • on("stop", () => void) : this fire if the software is killed

  • on("end", () => void) : this fire if the software is killed and cannot be restarted

Examples

Native

const PersistantSoftware = require("node-persistent-software");

new PersistantSoftware("node", [ "-v" ]).on("error", (msg) => {
  console.log(msg);
})

.infinite()

.on("firststart", () => {
  console.log("node is started for the first time !");
}).on("restart", () => {
  console.log("node is started again...");
}).on("start", (child_process) => {
  console.log("anyway, node is started.");
})

.on("stop", () => {
  console.log("node is stopped, trying to restart...");
}).on("end", () => {
  console.log("/!\\ node is stopped and cannot be restarted /!\\");
}).start();


new PersistantSoftware("node", [ "-v" ]).on("error", (err) => {
  console.log(err);
})

.max(5)

.on("firststart", () => {
  console.log("node is started for the first time !");
}).on("restart", () => {
  console.log("node is started again...");
}).on("start", () => {
  console.log("anyway, node is started.");
})

.on("stop", () => {
  console.log("node is stopped, trying to restart...");
}).on("end", () => {
  console.log("/!\\ node is stopped and cannot be restarted /!\\");
}).start();

Typescript

import PersistantSoftware = require("node-persistent-software");

new PersistantSoftware("node", [ "-v" ]).on("error", (err) => {
  console.log(err);
})

.infinite();

Tests

$ npm run-script tests

License

ISC

1.5.1

5 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago