@shrub/queue-bullmq 0.5.53 → 0.5.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/module.js +89 -58
  2. package/package.json +5 -5
package/dist/module.js CHANGED
@@ -9,6 +9,7 @@ const bullmq_1 = require("bullmq");
9
9
  function convertJob(job) {
10
10
  return {
11
11
  id: job.id || "",
12
+ name: job.name,
12
13
  data: job.data,
13
14
  get progress() {
14
15
  return job.progress;
@@ -48,72 +49,102 @@ class BullMQQueueAdapter extends queue_1.QueueAdapter {
48
49
  this.initializeSchedulers(queueSchedulers || []);
49
50
  }
50
51
  getQueueInstance(name) {
51
- const jobActive = new QueueEventEmitter();
52
- const jobCompleted = new QueueEventEmitter();
53
- const jobFailed = new QueueEventEmitter();
54
- const jobProgress = new QueueEventEmitter();
55
- let instance;
56
- return {
57
- get onJobActive() {
58
- return jobActive.event;
59
- },
60
- get onJobCompleted() {
61
- return jobCompleted.event;
62
- },
63
- get onJobFailed() {
64
- return jobFailed.event;
65
- },
66
- get onJobProgress() {
67
- return jobProgress.event;
68
- },
69
- add: options => {
70
- const jobOptions = {
71
- delay: options.delay,
72
- repeat: options.repeat && {
73
- cron: options.repeat.cron,
74
- immediately: options.repeat.immediate
75
- }
76
- };
77
- instance = instance || new bullmq_1.Queue(name, { connection: this.connection });
78
- return instance.add(options.name || "", options.data || {}, jobOptions).then(job => convertJob(job));
79
- },
80
- process: optionsOrCallback => {
81
- const options = this.getProcessOptions(optionsOrCallback);
82
- const worker = new bullmq_1.Worker(name, job => options.callback(convertJob(job)), {
83
- concurrency: options.concurrency,
84
- connection: this.connection
85
- });
86
- // BullMQ recommends attaching to 'error' and since we don't get job info pass the error to the logger
87
- // https://docs.bullmq.io/guide/workers
88
- worker.on("error", error => this.logger.logError(error));
89
- worker.on("active", job => {
90
- this.logger.logDebug({ name: "BullMQ - job active", queueName: job.queueName, job: job.id });
91
- jobActive.tryEmit(() => ({ job: convertJob(job) }));
92
- });
93
- worker.on("completed", (job, returnValue) => {
94
- this.logger.logDebug({ name: "BullMQ - job completed", queueName: job.queueName, job: job.id });
95
- jobCompleted.tryEmit(() => ({ job: convertJob(job), returnValue }));
96
- });
97
- worker.on("failed", (job, error) => {
98
- this.logger.logWarn({ name: "BullMQ - job failed", queueName: job.queueName, job: job.id, message: error.message, stack: error.stack });
99
- jobFailed.tryEmit(() => ({ job: convertJob(job), error }));
100
- });
101
- worker.on("progress", (job, progress) => {
102
- this.logger.logDebug({ name: "BullMQ - job progress", queueName: job.queueName, job: job.id, progress: typeof progress === "number" ? progress : JSON.stringify(progress) });
103
- jobProgress.tryEmit(() => ({ job: convertJob(job), progress }));
104
- });
105
- return worker;
106
- }
107
- };
52
+ return new BullMQWrapper(this.logger, name, this.connection);
108
53
  }
109
54
  initializeSchedulers(queueSchedulers) {
110
55
  // TODO: is support needed to close the schedulers?
111
56
  queueSchedulers.forEach(name => new bullmq_1.QueueScheduler(name, { connection: this.connection }));
112
57
  }
113
58
  }
59
+ class BullMQWrapper {
60
+ constructor(logger, queueName, connection) {
61
+ this.logger = logger;
62
+ this.queueName = queueName;
63
+ this.connection = connection;
64
+ this.jobActive = new QueueEventEmitter();
65
+ this.jobCompleted = new QueueEventEmitter();
66
+ this.jobFailed = new QueueEventEmitter();
67
+ this.jobProgress = new QueueEventEmitter();
68
+ this.workers = new Map();
69
+ this.workerId = 1;
70
+ }
71
+ get onJobActive() {
72
+ return this.jobActive.event;
73
+ }
74
+ get onJobCompleted() {
75
+ return this.jobCompleted.event;
76
+ }
77
+ get onJobFailed() {
78
+ return this.jobFailed.event;
79
+ }
80
+ get onJobProgress() {
81
+ return this.jobProgress.event;
82
+ }
83
+ add(options) {
84
+ const jobOptions = {
85
+ delay: options.delay,
86
+ repeat: options.repeat && {
87
+ cron: options.repeat.cron,
88
+ immediately: options.repeat.immediate
89
+ }
90
+ };
91
+ this.instance = this.instance || new bullmq_1.Queue(this.queueName, { connection: this.connection });
92
+ return this.instance.add(options.name || "", options.data || {}, jobOptions).then(job => convertJob(job));
93
+ }
94
+ async close() {
95
+ const promises = Array.from(this.workers.values()).map(worker => worker.close());
96
+ this.workers.clear();
97
+ if (this.instance) {
98
+ promises.push(this.instance.close());
99
+ this.instance = undefined;
100
+ }
101
+ await Promise.all(promises);
102
+ }
103
+ createWorker(optionsOrCallback) {
104
+ const options = this.getWorkerOptions(optionsOrCallback);
105
+ const worker = new bullmq_1.Worker(this.queueName, job => options.callback(convertJob(job)), {
106
+ concurrency: options.concurrency,
107
+ connection: this.connection
108
+ });
109
+ // BullMQ recommends attaching to 'error' and since we don't get job info pass the error to the logger
110
+ // https://docs.bullmq.io/guide/workers
111
+ worker.on("error", error => this.logger.logError(error));
112
+ worker.on("active", job => {
113
+ this.logger.logDebug({ name: "BullMQ - job active", queueName: job.queueName, job: job.id });
114
+ this.jobActive.tryEmit(() => ({ job: convertJob(job) }));
115
+ });
116
+ worker.on("completed", (job, returnValue) => {
117
+ this.logger.logDebug({ name: "BullMQ - job completed", queueName: job.queueName, job: job.id });
118
+ this.jobCompleted.tryEmit(() => ({ job: convertJob(job), returnValue }));
119
+ });
120
+ worker.on("failed", (job, error) => {
121
+ this.logger.logWarn({ name: "BullMQ - job failed", queueName: job.queueName, job: job.id, message: error.message, stack: error.stack });
122
+ this.jobFailed.tryEmit(() => ({ job: convertJob(job), error }));
123
+ });
124
+ worker.on("progress", (job, progress) => {
125
+ this.logger.logDebug({ name: "BullMQ - job progress", queueName: job.queueName, job: job.id, progress: typeof progress === "number" ? progress : JSON.stringify(progress) });
126
+ this.jobProgress.tryEmit(() => ({ job: convertJob(job), progress }));
127
+ });
128
+ const id = this.workerId++;
129
+ this.workers.set(id, worker);
130
+ return {
131
+ close: () => {
132
+ const worker = this.workers.get(id);
133
+ if (worker) {
134
+ this.workers.delete(id);
135
+ return worker.close();
136
+ }
137
+ return Promise.resolve();
138
+ }
139
+ };
140
+ }
141
+ getWorkerOptions(optionsOrCallback) {
142
+ return typeof optionsOrCallback === "function" ? { callback: optionsOrCallback } : optionsOrCallback;
143
+ }
144
+ }
114
145
  class QueueEventEmitter extends event_emitter_1.EventEmitter {
115
146
  tryEmit(getArgs) {
116
147
  return this.count ? super.emit(getArgs()) : Promise.resolve();
117
148
  }
118
149
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBNkY7QUFDN0YsNENBQXdEO0FBQ3hELHdDQUVzQjtBQUN0Qix3REFBb0Q7QUFDcEQsbUNBQTRGO0FBbUI1RixTQUFTLFVBQVUsQ0FBQyxHQUFRO0lBQ3hCLE9BQU87UUFDSCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQ2hCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLElBQUksUUFBUTtZQUNSLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN4QixDQUFDO1FBQ0QsY0FBYyxDQUFDLFFBQVE7WUFDbkIsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVZLFFBQUEseUJBQXlCLEdBQUcsbUJBQVksRUFBNkIsQ0FBQztBQUVuRixNQUFhLGlCQUFpQjtJQUE5QjtRQUNxQixhQUFRLEdBQXlCLEVBQUUsQ0FBQztRQUU1QyxTQUFJLEdBQUcsY0FBYyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUc7WUFDcEIsdUJBQWE7WUFDYixtQkFBVztTQUNkLENBQUM7SUFpQk4sQ0FBQztJQWZHLFVBQVUsQ0FBQyxJQUF3QjtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGlDQUF5QixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGtCQUFrQixDQUMxRCxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsRUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQzdCLE9BQU8sSUFBSSxPQUFPLENBQUMsaUJBQWlC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
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBNkY7QUFDN0YsNENBQXdEO0FBQ3hELHdDQUVzQjtBQUN0Qix3REFBNEQ7QUFDNUQsbUNBQTRGO0FBbUI1RixTQUFTLFVBQVUsQ0FBQyxHQUFRO0lBQ3hCLE9BQU87UUFDSCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQ2hCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLElBQUksUUFBUTtZQUNSLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN4QixDQUFDO1FBQ0QsY0FBYyxDQUFDLFFBQVE7WUFDbkIsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVZLFFBQUEseUJBQXlCLEdBQUcsbUJBQVksRUFBNkIsQ0FBQztBQUVuRixNQUFhLGlCQUFpQjtJQUE5QjtRQUNxQixhQUFRLEdBQXlCLEVBQUUsQ0FBQztRQUU1QyxTQUFJLEdBQUcsY0FBYyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUc7WUFDcEIsdUJBQWE7WUFDYixtQkFBVztTQUNkLENBQUM7SUFpQk4sQ0FBQztJQWZHLFVBQVUsQ0FBQyxJQUF3QjtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGlDQUF5QixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGtCQUFrQixDQUMxRCxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsRUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVB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QUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4SSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdLLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFN0IsT0FBTztZQUNILEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksTUFBTSxFQUFFO29CQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN4QixPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDekI7Z0JBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsaUJBQWtEO1FBQ3ZFLE9BQU8sT0FBTyxpQkFBaUIsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQ3pHLENBQUM7Q0FDSjtBQUVELE1BQU0saUJBQXlCLFNBQVEsNEJBQW1CO0lBQ3RELE9BQU8sQ0FBQyxPQUFvQjtRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xFLENBQUM7Q0FDSiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shrub/queue-bullmq",
3
3
  "description": "Provides a job/worker queue using BullMQ.",
4
- "version": "0.5.53",
4
+ "version": "0.5.56",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -24,14 +24,14 @@
24
24
  "clean": "rimraf ./dist && rimraf tsconfig.tsbuildinfo"
25
25
  },
26
26
  "dependencies": {
27
- "@shrub/core": "0.5.53",
28
- "@shrub/logging": "0.5.53",
29
- "@shrub/queue": "0.5.53",
27
+ "@shrub/core": "0.5.56",
28
+ "@shrub/logging": "0.5.56",
29
+ "@shrub/queue": "0.5.56",
30
30
  "@sprig/event-emitter": "^0.2.0",
31
31
  "bullmq": "^1.80.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/ioredis": "^4.28.2"
35
35
  },
36
- "gitHead": "dfb47977e62c20866a630b4a32ff93d4199bc496"
36
+ "gitHead": "22c75fe24dace30cd85b72e34a4509069e6f0526"
37
37
  }