relieve-failsafe

2.2.5 • Public • Published

Relieve-failsafe Build Status

Relieve failsafe interface

This interface allows you to launch independent microservices that will maintain an open channel with a master process. This master process can die safely, as the child process will stay alive and reconnect when he can.

This is still an experimental module!

Usage

If you're not familiar with the relieve library, please check out it's usage first here.

npm install relieve relieve-failsafe

Task:

// task.js
const ipc = process.relieve.ipc
 
module.exports = {
  start: function() {
    ipc.on('ping', function() {
      ipc.send('pong')
    })
 
    setInterval(e => {
      console.log('Still alive')
    }, 1000)
  }
}

Master:

// master.js
const ScriptTask = require('relieve/tasks/ScriptTask')
const FailSafe = require('relieve-failsafe')
 
const task = new ScriptTask('task.js', {
  interfaces: [new FailSafe()]
})
 
task.start()
.then(() => {
  task.on('pong', () => {
    console.log('got pong!')
  })
 
  task.send('ping')
})

You can test this example by cloning this repository and by launching node examples/master. The task will have to be killed manually.

/relieve-failsafe/

    Package Sidebar

    Install

    npm i relieve-failsafe

    Weekly Downloads

    11

    Version

    2.2.5

    License

    MIT

    Unpacked Size

    19.3 kB

    Total Files

    16

    Last publish

    Collaborators

    • soyuka