Skip to content

heartbeat server / client to manage overall agents and discovery

Notifications You must be signed in to change notification settings

lolastudio/pulsat.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

From latin, pulsatio means heartbeat / beating / pulse

Simple heartbeat server and client to manage overall agents and discovery, supports automatic replication and it can also be used with your existing express instance

quick-start

  • install
npm i pulsat.io
  • server
const Pulsatio = require('pulsat.io');
const ps = new Pulsatio({ mode: 'server' });
  • client
const Pulsatio = require('pulsat.io');
const pc = new Pulsatio();

middlewares

  • on connection (server)
new Pulsatio({
    mode: 'server',
    on: {
        connection: (node, next) => {
            console.log('new connection')
            node.a = 'b'
            next()
        }
    }
});

listeners

  • on connection (client)
new Pulsatio({
    on: {
        connection: (data) => {
            console.log(data)
        }
    }
})

options

  • server
Option Type Required Default
port integer Optional 4200
express express instance Optional express new instance
interval_timeout float Optional 1.1
vpn boolean Optional false
replication string Optional null
replication_prefix string Optional ''
  • client
Option Type Required Default
url string Optional 'http://localhost:4200'
id string Optional generated uuid
interval integer Optional 30000

endpoints

Endpoint Type
/nodes/:id GET, POST, PUT, DELETE
/nodes GET, POST
/nodes/online GET

clients