Load/unload implem.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "",
|
||||
"name": "xo-server-backup-reports",
|
||||
"version": "0.0.0",
|
||||
"license": "ISC",
|
||||
"description": "",
|
||||
|
||||
@@ -1,5 +1,51 @@
|
||||
import forEach from 'lodash.foreach'
|
||||
|
||||
function listener (status) {
|
||||
let nSuccess = 0
|
||||
let nCalls = 0
|
||||
|
||||
// Backup status for each vm
|
||||
forEach(status.calls, call => {
|
||||
let vmStatus
|
||||
|
||||
if (call.error) {
|
||||
vmStatus = 'Fail'
|
||||
} else {
|
||||
nSuccess++
|
||||
vmStatus = 'Success'
|
||||
}
|
||||
|
||||
nCalls++
|
||||
|
||||
const vm = this._xo.getObject(call.params.id)
|
||||
|
||||
console.log(
|
||||
`VM Name: ${vm.name_label}
|
||||
UUID: ${call.params.id}
|
||||
Status: ${vmStatus}
|
||||
Start time: ${call.start}
|
||||
End time: ${call.end}
|
||||
Duration: ${call.end - call.start}
|
||||
`
|
||||
)
|
||||
})
|
||||
|
||||
const globalStatus = nSuccess === nCalls
|
||||
? 'Success'
|
||||
: 'Fail'
|
||||
|
||||
// Global status
|
||||
console.log(
|
||||
`Global status: ${globalStatus}
|
||||
Start time: ${status.start}
|
||||
End time: ${status.end}
|
||||
Duration: ${status.end - status.start}
|
||||
Successful backed up VM number: ${nSuccess}
|
||||
Failed backed up VM: ${nCalls - nSuccess}
|
||||
`
|
||||
)
|
||||
}
|
||||
|
||||
class BackupReportsXoPlugin {
|
||||
constructor (xo) {
|
||||
this._xo = xo
|
||||
@@ -10,55 +56,11 @@ class BackupReportsXoPlugin {
|
||||
}
|
||||
|
||||
load () {
|
||||
this._xo.on('job:terminated', status => {
|
||||
let nSuccess = 0
|
||||
let nCalls = 0
|
||||
|
||||
// Backup status for each vm
|
||||
forEach(status.calls, call => {
|
||||
let vmStatus
|
||||
|
||||
if (call.error) {
|
||||
vmStatus = 'Fail'
|
||||
} else {
|
||||
nSuccess++
|
||||
vmStatus = 'Success'
|
||||
}
|
||||
|
||||
nCalls++
|
||||
|
||||
const vm = this._xo.getObject(call.params.id)
|
||||
|
||||
console.log(
|
||||
`VM Name: ${vm.name_label}
|
||||
UUID: ${call.params.id}
|
||||
Status: ${vmStatus}
|
||||
Start time: ${call.start}
|
||||
End time: ${call.end}
|
||||
Duration: ${call.end - call.start}
|
||||
`
|
||||
)
|
||||
})
|
||||
|
||||
const globalStatus = nSuccess === nCalls
|
||||
? 'Success'
|
||||
: 'Fail'
|
||||
|
||||
// Global status
|
||||
console.log(
|
||||
`Global status: ${globalStatus}
|
||||
Start time: ${status.start}
|
||||
End time: ${status.end}
|
||||
Duration: ${status.end - status.start}
|
||||
Successful backed up VM number: ${nSuccess}
|
||||
Failed backed up VM: ${nCalls - nSuccess}
|
||||
`
|
||||
)
|
||||
})
|
||||
this._xo.on('job:terminated', listener)
|
||||
}
|
||||
|
||||
unload () {
|
||||
|
||||
this._xo.removeListener(listener)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user