UNPKG

grace-server

Version:

通过cluster集群,加强node服务器的稳定性

59 lines (53 loc) 1.29 kB
const nssocket = require('nssocket'); const fs = require('fs'); exports.getSocketFiles = dir => { let sockets; try { sockets = fs.readdirSync(dir); return sockets; } catch (e) { return []; } } exports.getSocket = socketPath => new Promise((resolve, reject) => { const socket = new nssocket.NsSocket(); socket.on('error', err => { fs.unlink(socketPath, err => { resolve(null); return; }) }) socket.connect(socketPath, err => { if (err) { resolve(null); return; } else { socket.end(); resolve(socketPath); } }) }) exports.getProcess = socketPath => new Promise((resolve, reject) => { const socket = new nssocket.NsSocket(); socket.on('error', err => { fs.unlink(socketPath, err => { resolve(null); return; }) }) socket.connect(socketPath, err => { if (err) { resolve(null); return; } else { // TODO 通过socket发送信息 socket.data('getProcess', resolve); socket.send('getProcess'); socket.end(); } }) }) .catch(() => resolve(null));