uci-interrupt/examples/single.js

37 lines
1004 B
JavaScript

import Interrupt from '../src/interrupt'
import Base from '@uci/base'
// let interrupt = new Interrupt(24,{id:'test-interrupt', wait:0})
// let listener = new Base({sockets:'inter#s>n', inter:{path:'interrupt:24'}, id:'listener'})
let interrupt = new Interrupt(24,{id:'test-interrupt', wait:0, hook:true, mock:true})
let processor = new Base({sockets:'inter#c>t', inter:{port:9024}, id:'listener'})
processor.interrupt = async function (packet) {
return new Promise((resolve) => {
console.log('interrupt socket listener got')
console.dir(packet)
resolve({status: 'processed'})
})
}
;
(async () => {
console.log(await interrupt.init())
console.log(await processor.init())
interrupt.fire()
processor.send({cmd: 'fire'})
// interrupt.fire()
// interrupt.fire()
// interrupt.fire()
// await delay(3000)
// process.kill(process.pid, 'SIGTERM')
})().catch(err => {
console.error('FATAL: UNABLE TO START SYSTEM!\n',err)
// process.kill(process.pid, 'SIGTERM')
})