From 4416a5508d3633f266c9f948ac265db4bf3787eb Mon Sep 17 00:00:00 2001 From: Joe Fleming Date: Mon, 18 Apr 2016 16:39:07 -0700 Subject: [PATCH] cleanup, job property storage --- src/index.js | 4 ++-- src/job.js | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/index.js b/src/index.js index b8a48fc..dec50c3 100644 --- a/src/index.js +++ b/src/index.js @@ -13,7 +13,7 @@ export default class Elastique extends events.EventEmitter { interval: '1w', timeout: 10000, }, omit(options, [ 'client' ])); - this.client = createClient(options.client); + this.client = createClient(options.client || {}); } add(type, payload, opts = {}) { @@ -21,7 +21,7 @@ export default class Elastique extends events.EventEmitter { timeout: this.settings.timeout }, opts); - var job = new Job(this, type, payload, options); + const job = new Job(this, type, payload, options); return job; } } diff --git a/src/job.js b/src/job.js index 139bf4c..55134a6 100644 --- a/src/job.js +++ b/src/job.js @@ -8,12 +8,24 @@ export default class Job extends events.EventEmitter { super(); - queue.client.index({ - index: queue.index, - type: type, + this.queue = queue; + this.type = type; + this.payload = payload; + this.timeout = options.timeout || 10000; + + this.ready = this.queue.client.index({ + index: this.queue.index, + type: this.type, body: Object.assign({}, options, { payload: payload }) + }) + .then((doc) => { + this.document = { + id: doc._id, + type: doc._type, + version: doc._version, + }; }); } } \ No newline at end of file