relieve-failsafe
v2.2.5
Published
Relieve Fail Safe interface
Downloads
5
Readme
Relieve-failsafe
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.