add optional debugging output

This commit is contained in:
2016-04-25 10:52:58 -07:00
parent b78c5763ce
commit b907c0ed71
4 changed files with 18 additions and 2 deletions

View File

@@ -30,6 +30,7 @@
"sinon": "~1.17.3" "sinon": "~1.17.3"
}, },
"dependencies": { "dependencies": {
"debug": "~2.2.0",
"elasticsearch": "~11.0.1", "elasticsearch": "~11.0.1",
"lodash": "~4.11.1", "lodash": "~4.11.1",
"moment": "~2.10.6", "moment": "~2.10.6",

5
src/helpers/logger.js Normal file
View File

@@ -0,0 +1,5 @@
import debugging from 'debug';
export default function logger(type) {
return debugging(type);
}

View File

@@ -1,10 +1,13 @@
import events from 'events'; import events from 'events';
import createClient from './helpers/es_client'; import createClient from './helpers/es_client';
import indexTimestamp from './helpers/index_timestamp'; import indexTimestamp from './helpers/index_timestamp';
import logger from './helpers/logger';
import Job from './job.js'; import Job from './job.js';
import Worker from './worker.js'; import Worker from './worker.js';
import { omit } from 'lodash'; import { omit } from 'lodash';
const debug = logger('queue');
export default class Elastique extends events.EventEmitter { export default class Elastique extends events.EventEmitter {
constructor(index, options = {}) { constructor(index, options = {}) {
if (!index) throw new Error('Must specify an index to write to'); if (!index) throw new Error('Must specify an index to write to');
@@ -21,12 +24,14 @@ export default class Elastique extends events.EventEmitter {
} }
_initTasks() { _initTasks() {
var initTasks = [ var initTasks = [
this.client.ping({ timeout: 3000 }), this.client.ping({ timeout: 3000 }),
]; ];
return Promise.all(initTasks); return Promise.all(initTasks).catch((err) => {
debug('Initialization failed', err);
throw err;
});
} }
add(type, payload, opts = {}) { add(type, payload, opts = {}) {

View File

@@ -1,8 +1,11 @@
import events from 'events'; import events from 'events';
import { isPlainObject } from 'lodash'; import { isPlainObject } from 'lodash';
import logger from './helpers/logger';
import { JOB_STATUS_PENDING } from './helpers/constants'; import { JOB_STATUS_PENDING } from './helpers/constants';
import createIndex from './helpers/create_index'; import createIndex from './helpers/create_index';
const debug = logger('job');
export default class Job extends events.EventEmitter { export default class Job extends events.EventEmitter {
constructor(client, index, type, payload, timeout = 10000) { constructor(client, index, type, payload, timeout = 10000) {
if (typeof type !== 'string') throw new Error('Type must be a string'); if (typeof type !== 'string') throw new Error('Type must be a string');
@@ -38,9 +41,11 @@ export default class Job extends events.EventEmitter {
type: doc._type, type: doc._type,
version: doc._version, version: doc._version,
}; };
debug('Job created', this.document);
}); });
}) })
.catch((err) => { .catch((err) => {
debug('Job creation failed', err);
this.emit('error', err); this.emit('error', err);
throw err; throw err;
}); });