yrexpert-js
Version:
L'interface Web pour votre système expert...
82 lines (66 loc) • 2.35 kB
JavaScript
/*
!----------------------------------------------------------------------------!
! !
! Yexpert : (your) Système Expert sous Mumps GT.M et GNU/Linux !
! Copyright (C) 2001-2015 by Hamid LOUAKED (HL). !
! !
!----------------------------------------------------------------------------!
*/
module.exports = function (controller, component) {
component.workers = {}
component.onNewProps = function (newProps) {
// console.log('WorkerProcessDetailsTable newProps: ' + JSON.stringify(newProps));
}
controller.on('stopWorkerProcess', function (messageObj) {
controller.send({ type: 'getWorkerDetails' })
})
component.stopWorker = function (pid) {
controller.send({
type: 'stopWorkerProcess',
params: {
pid: pid
}
})
controller.toastr('warning', 'Worker ' + pid + ' shut down')
}
component.poolSize = 1
controller.on('startTimers', function () {
if (!controller.timers.poolSize) {
controller.timers.poolSize = setInterval(function () {
controller.send({ type: 'getPoolSize' })
}, 15000)
}
if (!controller.timers.workerDetails) {
controller.timers.workerDetails = setInterval(function () {
controller.send({ type: 'getWorkerDetails' })
}, 10000)
}
})
controller.on('getPoolSize', function (messageObj) {
component.poolSize = messageObj.message.poolSize
controller.emit('startTimers')
component.setState({
status: 'poolSizeAvailable'
})
})
component.setPoolSize = function (poolSize) {
controller.send({
type: 'setPoolSize',
params: {
poolSize: poolSize
}
})
}
component.workerDetails = []
controller.on('getWorkerDetails', function (messageObj) {
// console.log('getWorkerDetails: ' + JSON.stringify(messageObj));
component.workerDetails = messageObj.results
controller.emit('startTimers')
component.setState({
status: 'dataAvailable'
})
})
controller.send({ type: 'getWorkerDetails' })
controller.send({ type: 'getPoolSize' })
return controller
}