Projektstart
This commit is contained in:
42
backend/node_modules/bullmq/dist/cjs/classes/queue-events-producer.js
generated
vendored
Normal file
42
backend/node_modules/bullmq/dist/cjs/classes/queue-events-producer.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.QueueEventsProducer = void 0;
|
||||
const tslib_1 = require("tslib");
|
||||
const queue_base_1 = require("./queue-base");
|
||||
/**
|
||||
* The QueueEventsProducer class is used for publishing custom events.
|
||||
*/
|
||||
class QueueEventsProducer extends queue_base_1.QueueBase {
|
||||
constructor(name, opts = {
|
||||
connection: {},
|
||||
}, Connection) {
|
||||
super(name, Object.assign({ blockingConnection: false }, opts), Connection);
|
||||
this.opts = opts;
|
||||
}
|
||||
/**
|
||||
* Publish custom event to be processed in QueueEvents.
|
||||
* @param argsObj - Event payload
|
||||
* @param maxEvents - Max quantity of events to be saved
|
||||
*/
|
||||
async publishEvent(argsObj, maxEvents = 1000) {
|
||||
const client = await this.client;
|
||||
const key = this.keys.events;
|
||||
const { eventName } = argsObj, restArgs = tslib_1.__rest(argsObj, ["eventName"]);
|
||||
const args = ['MAXLEN', '~', maxEvents, '*', 'event', eventName];
|
||||
for (const [key, value] of Object.entries(restArgs)) {
|
||||
args.push(key, value);
|
||||
}
|
||||
await client.xadd(key, ...args);
|
||||
}
|
||||
/**
|
||||
* Closes the connection and returns a promise that resolves when the connection is closed.
|
||||
*/
|
||||
async close() {
|
||||
if (!this.closing) {
|
||||
this.closing = this.connection.close();
|
||||
}
|
||||
await this.closing;
|
||||
}
|
||||
}
|
||||
exports.QueueEventsProducer = QueueEventsProducer;
|
||||
//# sourceMappingURL=queue-events-producer.js.map
|
||||
Reference in New Issue
Block a user