diff options
Diffstat (limited to 'app/relay/rpc.js')
| -rw-r--r-- | app/relay/rpc.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/relay/rpc.js b/app/relay/rpc.js new file mode 100644 index 0000000..d21dacc --- /dev/null +++ b/app/relay/rpc.js @@ -0,0 +1,37 @@ +require('dotenv').config() + +import { remote } from './remote' +import * as runner from './runner' + +const zerorpc = require('zerorpc') + +let connected = false +export const rpc = new zerorpc.Client() +rpc.connect('tcp://127.0.0.1:' + process.env.RPC_PORT) +rpc.on('error', function(error) { + console.error('RPC server error:', error) +}) +console.log('RPC listening on port ' + process.env.RPC_PORT) + +rpc.invoke('ping', (err, res, more) => { + console.log('sent ping to rpc, got', res) + if (res === 'pong') { + remote.emit('system_res', { + type: 'rpc_connected', + runner: runner.status() + }) + connected = true + } else { + remote.emit('system_res', { + type: 'rpc_disconnected', + }) + connected = false + } +}) + +export function get_connected() { + return connected +} +export function set_connected(option) { + connected = !! option +}
\ No newline at end of file |
