Skip to content

node-packages/relieve-failsafe

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.call('ping')
})

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

About

Relieve through tcp

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%