diff --git a/package.json b/package.json index e157bb5d..1c204b7f 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "boundless-arrow-key-navigation": "^1.0.4", "boundless-popover": "^1.0.4", "bugsnag": "^1.7.0", - "bull": "^3.3.7", + "bull": "^3.5.2", "cancan": "3.1.0", "copy-to-clipboard": "^3.0.6", "css-loader": "^0.28.7", diff --git a/server/events.js b/server/events.js index 7f2378ec..aadfd197 100644 --- a/server/events.js +++ b/server/events.js @@ -19,18 +19,21 @@ const globalEventsQueue = new Queue('global events', process.env.REDIS_URL); const serviceEventsQueue = new Queue('service events', process.env.REDIS_URL); // this queue processes global events and hands them off to service hooks -globalEventsQueue.process(async function(job) { +globalEventsQueue.process(async job => { const names = Object.keys(services); names.forEach(name => { const service = services[name]; if (service.on) { - serviceEventsQueue.add({ service: name, ...job.data }); + serviceEventsQueue.add( + { service: name, ...job.data }, + { removeOnComplete: true } + ); } }); }); // this queue processes an individual event for a specific service -serviceEventsQueue.process(async function(job) { +serviceEventsQueue.process(async job => { const event = job.data; const service = services[event.service]; diff --git a/server/logistics.js b/server/logistics.js index ce79b7d1..20325ae6 100644 --- a/server/logistics.js +++ b/server/logistics.js @@ -10,6 +10,7 @@ const logisticsQueue = new Queue('logistics', process.env.REDIS_URL); const mailer = new Mailer(); const queueOptions = { attempts: 2, + removeOnComplete: true, backoff: { type: 'exponential', delay: 60 * 1000, diff --git a/server/mailer.js b/server/mailer.js index f2dbd1d6..e1d0f774 100644 --- a/server/mailer.js +++ b/server/mailer.js @@ -138,6 +138,7 @@ export const sendEmail = (type: Emails, to: string, options?: Object = {}) => { }, { attempts: 5, + removeOnComplete: true, backoff: { type: 'exponential', delay: 60 * 1000, diff --git a/yarn.lock b/yarn.lock index bdf8695a..b68908d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1277,6 +1277,10 @@ bluebird@^3.3.4, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" +bluebird@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + bluebird@~3.4.1: version "3.4.7" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" @@ -1523,17 +1527,17 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -bull@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/bull/-/bull-3.3.7.tgz#d8075830134dab28b075bd0bcd2aa5144a5c4218" +bull@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/bull/-/bull-3.5.2.tgz#9c85f205b17686efab2ee28aaa4388887360de32" dependencies: - bluebird "^3.5.0" - cron-parser "^2.4.1" + bluebird "^3.5.3" + cron-parser "^2.5.0" debuglog "^1.0.0" ioredis "^3.1.4" - lodash "^4.17.4" - semver "^5.4.1" - uuid "^3.1.0" + lodash "^4.17.11" + semver "^5.6.0" + uuid "^3.2.1" bytes@1: version "1.0.0" @@ -2327,12 +2331,12 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cron-parser@^2.4.1: - version "2.4.3" - resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.4.3.tgz#cae844c20117fc72c678f63ac83c7884be199e78" +cron-parser@^2.5.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.7.1.tgz#d08c00b1e220db564fd1cecb5019c8dd450f84d1" dependencies: is-nan "^1.2.1" - moment-timezone "^0.5.0" + moment-timezone "^0.5.23" cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" @@ -6489,7 +6493,7 @@ lodash@^4.1.1: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -lodash@^4.17.10: +lodash@^4.17.10, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -6862,9 +6866,9 @@ mocha@^4.0.1: mkdirp "0.5.1" supports-color "4.4.0" -moment-timezone@^0.5.0: - version "0.5.14" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" +moment-timezone@^0.5.23: + version "0.5.23" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz#7cbb00db2c14c71b19303cb47b0fb0a6d8651463" dependencies: moment ">= 2.9.0" @@ -9158,7 +9162,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -9174,6 +9178,10 @@ semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +semver@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + send@0.13.2: version "0.13.2" resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" @@ -10516,6 +10524,10 @@ uuid@^2.0.1, uuid@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" +uuid@^3.2.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + v8flags@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"