Fixes: Redis keys related to queue jobs should be removed after completion

This commit is contained in:
Tom Moor
2018-11-17 16:09:42 -08:00
parent 11a411447c
commit d3834d2dc5
5 changed files with 38 additions and 21 deletions

View File

@ -87,7 +87,7 @@
"boundless-arrow-key-navigation": "^1.0.4", "boundless-arrow-key-navigation": "^1.0.4",
"boundless-popover": "^1.0.4", "boundless-popover": "^1.0.4",
"bugsnag": "^1.7.0", "bugsnag": "^1.7.0",
"bull": "^3.3.7", "bull": "^3.5.2",
"cancan": "3.1.0", "cancan": "3.1.0",
"copy-to-clipboard": "^3.0.6", "copy-to-clipboard": "^3.0.6",
"css-loader": "^0.28.7", "css-loader": "^0.28.7",

View File

@ -19,18 +19,21 @@ const globalEventsQueue = new Queue('global events', process.env.REDIS_URL);
const serviceEventsQueue = new Queue('service 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 // 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); const names = Object.keys(services);
names.forEach(name => { names.forEach(name => {
const service = services[name]; const service = services[name];
if (service.on) { 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 // this queue processes an individual event for a specific service
serviceEventsQueue.process(async function(job) { serviceEventsQueue.process(async job => {
const event = job.data; const event = job.data;
const service = services[event.service]; const service = services[event.service];

View File

@ -10,6 +10,7 @@ const logisticsQueue = new Queue('logistics', process.env.REDIS_URL);
const mailer = new Mailer(); const mailer = new Mailer();
const queueOptions = { const queueOptions = {
attempts: 2, attempts: 2,
removeOnComplete: true,
backoff: { backoff: {
type: 'exponential', type: 'exponential',
delay: 60 * 1000, delay: 60 * 1000,

View File

@ -138,6 +138,7 @@ export const sendEmail = (type: Emails, to: string, options?: Object = {}) => {
}, },
{ {
attempts: 5, attempts: 5,
removeOnComplete: true,
backoff: { backoff: {
type: 'exponential', type: 'exponential',
delay: 60 * 1000, delay: 60 * 1000,

View File

@ -1277,6 +1277,10 @@ bluebird@^3.3.4, bluebird@^3.5.1:
version "3.5.1" version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 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: bluebird@~3.4.1:
version "3.4.7" version "3.4.7"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" 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" version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
bull@^3.3.7: bull@^3.5.2:
version "3.3.7" version "3.5.2"
resolved "https://registry.yarnpkg.com/bull/-/bull-3.3.7.tgz#d8075830134dab28b075bd0bcd2aa5144a5c4218" resolved "https://registry.yarnpkg.com/bull/-/bull-3.5.2.tgz#9c85f205b17686efab2ee28aaa4388887360de32"
dependencies: dependencies:
bluebird "^3.5.0" bluebird "^3.5.3"
cron-parser "^2.4.1" cron-parser "^2.5.0"
debuglog "^1.0.0" debuglog "^1.0.0"
ioredis "^3.1.4" ioredis "^3.1.4"
lodash "^4.17.4" lodash "^4.17.11"
semver "^5.4.1" semver "^5.6.0"
uuid "^3.1.0" uuid "^3.2.1"
bytes@1: bytes@1:
version "1.0.0" 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" safe-buffer "^5.0.1"
sha.js "^2.4.8" sha.js "^2.4.8"
cron-parser@^2.4.1: cron-parser@^2.5.0:
version "2.4.3" version "2.7.1"
resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.4.3.tgz#cae844c20117fc72c678f63ac83c7884be199e78" resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.7.1.tgz#d08c00b1e220db564fd1cecb5019c8dd450f84d1"
dependencies: dependencies:
is-nan "^1.2.1" 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: cross-spawn@^5.0.1, cross-spawn@^5.1.0:
version "5.1.0" version "5.1.0"
@ -6489,7 +6493,7 @@ lodash@^4.1.1:
version "4.17.5" version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" 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" version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
@ -6862,9 +6866,9 @@ mocha@^4.0.1:
mkdirp "0.5.1" mkdirp "0.5.1"
supports-color "4.4.0" supports-color "4.4.0"
moment-timezone@^0.5.0: moment-timezone@^0.5.23:
version "0.5.14" version "0.5.23"
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz#7cbb00db2c14c71b19303cb47b0fb0a6d8651463"
dependencies: dependencies:
moment ">= 2.9.0" moment ">= 2.9.0"
@ -9158,7 +9162,7 @@ semver-diff@^2.0.0:
dependencies: dependencies:
semver "^5.0.3" 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" version "5.4.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
@ -9174,6 +9178,10 @@ semver@^5.5.0:
version "5.5.0" version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 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: send@0.13.2:
version "0.13.2" version "0.13.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" 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" version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 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: v8flags@^2.0.2:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"