Load/unload implem.

This commit is contained in:
wescoeur
2015-11-20 10:13:12 +01:00
parent 12c4680501
commit 99caa5dddc
2 changed files with 49 additions and 47 deletions
@@ -1,6 +1,6 @@
{
"private": true,
"name": "",
"name": "xo-server-backup-reports",
"version": "0.0.0",
"license": "ISC",
"description": "",
+48 -46
View File
@@ -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)
}
}