From 2b2db9c5f928c25783756562b52f1cb374104342 Mon Sep 17 00:00:00 2001 From: Joe Fleming Date: Tue, 28 Jun 2016 17:49:10 -0700 Subject: [PATCH] add UnspecifiedWorkerError error --- src/helpers/errors.js | 7 +++++++ src/worker.js | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/helpers/errors.js b/src/helpers/errors.js index 3fe368d..458d0f9 100644 --- a/src/helpers/errors.js +++ b/src/helpers/errors.js @@ -9,4 +9,11 @@ errors.WorkerTimeoutError = typedError({ jobId: null }); +errors.UnspecifiedWorkerError = typedError({ + type: 'UnspecifiedWorkerError', + message: 'Unspecified worker error', + timeout: null, + jobId: null +}); + export default errors; diff --git a/src/worker.js b/src/worker.js index 23c4b2e..c2f65f3 100644 --- a/src/worker.js +++ b/src/worker.js @@ -3,7 +3,7 @@ import Puid from 'puid'; import moment from 'moment'; import logger from './helpers/logger'; import constants from './helpers/constants'; -import { WorkerTimeoutError } from './helpers/errors'; +import { WorkerTimeoutError, UnspecifiedWorkerError } from './helpers/errors'; const puid = new Puid(); const debug = logger('esqueue:worker'); @@ -173,6 +173,12 @@ export default class Job extends events.EventEmitter { this.emit('job_error', err); }); }, (jobErr) => { + if (!jobErr) { + jobErr = new UnspecifiedWorkerError({ + jobId: job._id, + }); + } + // job execution failed if (jobErr.type === 'WorkerTimeoutError') { this.debug(`Timeout on job ${job._id}`);