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.

Package Sidebar

Install

npm i relieve-failsafe

Weekly Downloads

0

Version

2.2.5

License

MIT

Unpacked Size

19.3 kB

Total Files

16

Last publish

Collaborators

  • soyuka