mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
79 lines
1.3 KiB
JavaScript
79 lines
1.3 KiB
JavaScript
|
|
|
|
var Wrap = require('./wrap.js');
|
|
var axon = require('pm2-axon');
|
|
|
|
var Module = require('module');
|
|
Wrap.wrap(Module, '_load', function(load) {
|
|
return function(file) {
|
|
return load.apply(this, arguments);
|
|
}
|
|
});
|
|
|
|
|
|
var server = axon.socket('sub');
|
|
|
|
server.bind(8080);
|
|
|
|
server.on('bind', function() {
|
|
console.log('Server ready');
|
|
});
|
|
|
|
server.on('message', function(data) {
|
|
console.log(data);
|
|
});
|
|
|
|
// setTimeout(function() {
|
|
// console.log('Closing server');
|
|
// server.close(function() {
|
|
// console.log('Closed');
|
|
// });
|
|
// }, 3000);
|
|
|
|
function setupConnection() {
|
|
var client = axon.socket('pub');
|
|
|
|
client.on('connect', function() {
|
|
console.log('Client connected');
|
|
});
|
|
|
|
client.on('error', function(e) {
|
|
console.log('Client got error', e.message);
|
|
});
|
|
|
|
client.on('close', function(e) {
|
|
console.log('Client got a close');
|
|
});
|
|
|
|
client.on('reconnect attempt', function(e) {
|
|
console.log('Reconnecting');
|
|
});
|
|
|
|
client.connect(8080);
|
|
|
|
this.send = function() {
|
|
client.send({success:true});
|
|
};
|
|
|
|
this.destroy = function() {
|
|
client.close();
|
|
client.removeAllListeners();
|
|
};
|
|
|
|
this.reconnect = function() {
|
|
|
|
};
|
|
return this;
|
|
}
|
|
|
|
var connection = setupConnection();
|
|
|
|
setInterval(function() {
|
|
connection.send();
|
|
}, 1000);
|
|
|
|
setInterval(function() {
|
|
connection.destroy();
|
|
connection = setupConnection();
|
|
}, 2000);
|