From 4bab057343a1d442b77a66a513223d277ee591be Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Fri, 26 Feb 2021 18:44:38 +0300 Subject: jobd/worker: improve error handling for run-manual command --- src/worker.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/worker.js') diff --git a/src/worker.js b/src/worker.js index 3151b40..663a517 100644 --- a/src/worker.js +++ b/src/worker.js @@ -218,6 +218,8 @@ class Worker extends EventEmitter { // get new jobs in transaction await db.beginTransaction() + let error = null + let sqlFields = `id, status, target, slot` let sql if (data.id) { @@ -255,19 +257,22 @@ class Worker extends EventEmitter { id = parseInt(id) if (status !== reqstatus) { - this.logger.warn(`${LOGPREFIX} status = ${status} != ${reqstatus}`) + error = `status = ${status} != ${reqstatus}` + this.logger.warn(`${LOGPREFIX} ${error}`) ignored.push(id) continue } if (!target || this.targets[target] === undefined) { - this.logger.error(`${LOGPREFIX} target '${target}' not found (job id=${id})`) + error = `target '${target}' not found (job id=${id})` + this.logger.error(`${LOGPREFIX} ${error}`) ignored.push(id) continue } if (!slot || this.targets[target].slots[slot] === undefined) { - this.logger.error(`${LOGPREFIX} slot '${slot}' of target '${target}' not found (job id=${id})`) + error = `slot '${slot}' of target '${target}' not found (job id=${id})` + this.logger.error(`${LOGPREFIX} ${error}`) ignored.push(id) continue } @@ -324,6 +329,7 @@ class Worker extends EventEmitter { }) return { + error, rows: results.length, accepted: accepted.length, ignored: ignored.length, -- cgit v1.2.3