5 Commits

Author SHA1 Message Date
1fe139e1b0 0.4.1 2016-05-19 14:13:49 -07:00
59d30bbb0f remove console debugging 2016-05-19 14:10:03 -07:00
6ce18a5477 update changelog 2016-05-17 13:38:08 -07:00
89c08068dd use filter instead of must in query
faster, and the score does not matter here
2016-05-17 13:37:22 -07:00
5f2e2b09cf bump dev node version 2016-05-17 10:19:27 -07:00
6 changed files with 10 additions and 8 deletions

View File

@@ -1 +1 @@
4.3.2
4.4.4

View File

@@ -2,6 +2,10 @@
Notable changes to the esqueue project. Pay attention to `[BREAKING]` changes when upgrading.
## v0.4.1
- Use `filter` instead of `must` to query for outstanding jobs
## v0.4.0
- [BREAKING] Change `priority` mapping to *byte*

View File

@@ -1,6 +1,6 @@
{
"name": "esqueue",
"version": "0.4.0",
"version": "0.4.1",
"description": "Job queue, powered by Elasticsearch",
"main": "lib/index.js",
"scripts": {

View File

@@ -235,11 +235,11 @@ export default class Job extends events.EventEmitter {
constant_score: {
filter: {
bool: {
must: { term: { jobtype: this.jobtype } },
filter: { term: { jobtype: this.jobtype } },
should: [
{ term: { status: 'pending'} },
{ bool:
{ must: [
{ filter: [
{ term: { status: 'processing' } },
{ range: { process_expiration: { lte: nowTime } } }
] }

View File

@@ -217,7 +217,6 @@ describe('Job Class', function () {
const job = new Job(client, index, type, payload, optionals);
return Promise.resolve(client.get({}, optionals))
.then((doc) => {
console.log('mocked doc', doc);
sinon.stub(client, 'get').returns(Promise.resolve(doc));
})
.then(() => {

View File

@@ -231,8 +231,7 @@ describe('Worker class', function () {
it('should search by job type', function () {
const { body } = getSearchParams(jobtype);
const conditions = get(body, conditionPath);
expect(conditions).to.have.property('must');
expect(conditions.must).to.eql({ term: { jobtype: jobtype } });
expect(conditions.filter).to.eql({ term: { jobtype: jobtype } });
});
it('should search for pending or expired jobs', function () {
@@ -243,7 +242,7 @@ describe('Worker class', function () {
// this works because we are stopping the clock, so all times match
const nowTime = moment().toISOString();
const pending = { term: { status: 'pending'} };
const expired = { bool: { must: [
const expired = { bool: { filter: [
{ term: { status: 'processing' } },
{ range: { process_expiration: { lte: nowTime } } }
] } };