podverse-mq 5.1.6-alpha.4 → 5.1.6-alpha.5
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.
- package/dist/functions/mq/rss/runParser.d.ts +1 -0
- package/dist/functions/mq/rss/runParser.d.ts.map +1 -1
- package/dist/functions/mq/rss/runParser.js +18 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/services/activeMQArtemis/index.d.ts +3 -0
- package/dist/services/activeMQArtemis/index.d.ts.map +1 -1
- package/dist/services/activeMQArtemis/index.js +43 -0
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { MQQueueName, ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
2
2
|
export declare const mqRSSRunParser: (activeMQArtemisService: ActiveMQArtemisService, queueName: MQQueueName) => Promise<void>;
|
|
3
|
+
export declare const getIsProcessing: () => boolean;
|
|
3
4
|
//# sourceMappingURL=runParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runParser.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/runParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"runParser.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/runParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAItF,eAAO,MAAM,cAAc,GACzB,wBAAwB,sBAAsB,EAC9C,WAAW,WAAW,kBAkCvB,CAAC;AAEF,eAAO,MAAM,eAAe,eAAqB,CAAC"}
|
|
@@ -9,19 +9,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.mqRSSRunParser = void 0;
|
|
12
|
+
exports.getIsProcessing = exports.mqRSSRunParser = void 0;
|
|
13
13
|
const podverse_parser_1 = require("podverse-parser");
|
|
14
|
+
let isProcessing = false;
|
|
14
15
|
const mqRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
16
|
yield activeMQArtemisService.initialize();
|
|
16
17
|
yield activeMQArtemisService.consumeMessages(queueName, (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
-
var _a, _b, _c, _d;
|
|
18
|
+
var _a, _b, _c, _d, _e;
|
|
19
|
+
// Don't accept new messages if we're shutting down
|
|
20
|
+
if (activeMQArtemisService.getIsShuttingDown()) {
|
|
21
|
+
console.log('Shutting down - rejecting new message to requeue it');
|
|
22
|
+
(_a = context.delivery) === null || _a === void 0 ? void 0 : _a.release();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
isProcessing = true;
|
|
18
26
|
try {
|
|
19
|
-
const bodyStr = (
|
|
27
|
+
const bodyStr = (_c = (_b = context.message) === null || _b === void 0 ? void 0 : _b.body) !== null && _c !== void 0 ? _c : '';
|
|
20
28
|
const receivedMessage = JSON.parse(bodyStr);
|
|
21
29
|
const { url, podcast_index_id, options } = receivedMessage;
|
|
22
30
|
if (url || podcast_index_id) {
|
|
23
31
|
yield (0, podverse_parser_1.parseRSSFeedAndSaveToDatabase)(url, podcast_index_id, options);
|
|
24
|
-
(
|
|
32
|
+
(_d = context.delivery) === null || _d === void 0 ? void 0 : _d.accept();
|
|
25
33
|
}
|
|
26
34
|
else {
|
|
27
35
|
throw new Error(`mqRSSRunParser: url or podcast_index_id not found in message ${bodyStr}`);
|
|
@@ -29,11 +37,16 @@ const mqRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void 0,
|
|
|
29
37
|
}
|
|
30
38
|
catch (error) {
|
|
31
39
|
console.error('Error processing message', error);
|
|
32
|
-
(
|
|
40
|
+
(_e = context.delivery) === null || _e === void 0 ? void 0 : _e.reject({
|
|
33
41
|
condition: 'podverse:processing-error',
|
|
34
42
|
description: error.message,
|
|
35
43
|
});
|
|
36
44
|
}
|
|
45
|
+
finally {
|
|
46
|
+
isProcessing = false;
|
|
47
|
+
}
|
|
37
48
|
}));
|
|
38
49
|
});
|
|
39
50
|
exports.mqRSSRunParser = mqRSSRunParser;
|
|
51
|
+
const getIsProcessing = () => isProcessing;
|
|
52
|
+
exports.getIsProcessing = getIsProcessing;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { mqRSSAdd } from './functions/mq/rss/add';
|
|
|
3
3
|
export { mqRSSAddAll } from './functions/mq/rss/addAll';
|
|
4
4
|
export { mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex } from './functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex';
|
|
5
5
|
export { mqRSSSetupDlqConsumers } from './functions/mq/rss/dlqHandling';
|
|
6
|
-
export { mqRSSRunParser } from './functions/mq/rss/runParser';
|
|
6
|
+
export { mqRSSRunParser, getIsProcessing } from './functions/mq/rss/runParser';
|
|
7
7
|
export { mqRSSRunLiveItemListener } from './functions/mq/rss/runLiveItemListener';
|
|
8
8
|
export { ActiveMQArtemisService, ActiveMQArtemisServiceParams } from './services/activeMQArtemis';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,4CAA4C,EAAE,MAAM,4DAA4D,CAAC;AAC1H,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,4CAA4C,EAAE,MAAM,4DAA4D,CAAC;AAC1H,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActiveMQArtemisService = exports.mqRSSRunLiveItemListener = exports.mqRSSRunParser = exports.mqRSSSetupDlqConsumers = exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = exports.mqRSSAddAll = exports.mqRSSAdd = void 0;
|
|
3
|
+
exports.ActiveMQArtemisService = exports.mqRSSRunLiveItemListener = exports.getIsProcessing = exports.mqRSSRunParser = exports.mqRSSSetupDlqConsumers = exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = exports.mqRSSAddAll = exports.mqRSSAdd = void 0;
|
|
4
4
|
require("./module-alias-config");
|
|
5
5
|
var add_1 = require("./functions/mq/rss/add");
|
|
6
6
|
Object.defineProperty(exports, "mqRSSAdd", { enumerable: true, get: function () { return add_1.mqRSSAdd; } });
|
|
@@ -12,6 +12,7 @@ var dlqHandling_1 = require("./functions/mq/rss/dlqHandling");
|
|
|
12
12
|
Object.defineProperty(exports, "mqRSSSetupDlqConsumers", { enumerable: true, get: function () { return dlqHandling_1.mqRSSSetupDlqConsumers; } });
|
|
13
13
|
var runParser_1 = require("./functions/mq/rss/runParser");
|
|
14
14
|
Object.defineProperty(exports, "mqRSSRunParser", { enumerable: true, get: function () { return runParser_1.mqRSSRunParser; } });
|
|
15
|
+
Object.defineProperty(exports, "getIsProcessing", { enumerable: true, get: function () { return runParser_1.getIsProcessing; } });
|
|
15
16
|
var runLiveItemListener_1 = require("./functions/mq/rss/runLiveItemListener");
|
|
16
17
|
Object.defineProperty(exports, "mqRSSRunLiveItemListener", { enumerable: true, get: function () { return runLiveItemListener_1.mqRSSRunLiveItemListener; } });
|
|
17
18
|
var activeMQArtemis_1 = require("./services/activeMQArtemis");
|
|
@@ -26,6 +26,7 @@ export declare class ActiveMQArtemisService {
|
|
|
26
26
|
private params;
|
|
27
27
|
private logger;
|
|
28
28
|
private connecting;
|
|
29
|
+
private isShuttingDown;
|
|
29
30
|
constructor(params: ActiveMQArtemisServiceParams, logger: LoggerService);
|
|
30
31
|
initialize(): Promise<void>;
|
|
31
32
|
private connect;
|
|
@@ -40,6 +41,8 @@ export declare class ActiveMQArtemisService {
|
|
|
40
41
|
*/
|
|
41
42
|
sendSampleToDLQ(queueName: MQQueueName, sample: Record<string, unknown>, failureDescription?: string): Promise<void>;
|
|
42
43
|
consumeMessages(queueName: MQQueueName, processMessage: (context: EventContext) => Promise<void> | void): Promise<void>;
|
|
44
|
+
getIsShuttingDown(): boolean;
|
|
45
|
+
close(): Promise<void>;
|
|
43
46
|
}
|
|
44
47
|
export {};
|
|
45
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzE,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,eAAe,GACf,UAAU,GACV,OAAO,YAAY,GAAG,eAAe,GAAG,UAAU,EAAE,CAAC;AAEzD,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,OAAO,GAAG,YAAY,CAAC;AAE5B,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzE,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,eAAe,GACf,UAAU,GACV,OAAO,YAAY,GAAG,eAAe,GAAG,UAAU,EAAE,CAAC;AAEzD,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,OAAO,GAAG,YAAY,CAAC;AAE5B,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,aAAa;IAKjE,UAAU;YASF,OAAO;YAwDP,YAAY;YAaZ,cAAc;IAa5B,OAAO,CAAC,kBAAkB;IAQpB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3D;;;;OAIG;IACG,eAAe,CACnB,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,kBAAkB,SAAqC,GACtD,OAAO,CAAC,IAAI,CAAC;IAoDV,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IA0B7G,iBAAiB,IAAI,OAAO;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAsC7B"}
|
|
@@ -21,6 +21,7 @@ class ActiveMQArtemisService {
|
|
|
21
21
|
this.senders = new Map();
|
|
22
22
|
this.receivers = new Map();
|
|
23
23
|
this.connecting = false;
|
|
24
|
+
this.isShuttingDown = false;
|
|
24
25
|
this.params = params;
|
|
25
26
|
this.logger = logger;
|
|
26
27
|
}
|
|
@@ -244,5 +245,47 @@ class ActiveMQArtemisService {
|
|
|
244
245
|
}
|
|
245
246
|
});
|
|
246
247
|
}
|
|
248
|
+
getIsShuttingDown() {
|
|
249
|
+
return this.isShuttingDown;
|
|
250
|
+
}
|
|
251
|
+
close() {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
this.isShuttingDown = true;
|
|
254
|
+
this.logger.info('Closing ActiveMQ Artemis connection...');
|
|
255
|
+
// Close all receivers first to stop accepting new messages
|
|
256
|
+
for (const [queueName, receiver] of this.receivers.entries()) {
|
|
257
|
+
try {
|
|
258
|
+
receiver.close();
|
|
259
|
+
this.logger.info(`Closed receiver for queue ${queueName}`);
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
this.logger.logError(`Error closing receiver for ${queueName}`, error);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
this.receivers.clear();
|
|
266
|
+
// Close all senders
|
|
267
|
+
for (const [queueName, sender] of this.senders.entries()) {
|
|
268
|
+
try {
|
|
269
|
+
sender.close();
|
|
270
|
+
this.logger.info(`Closed sender for queue ${queueName}`);
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
this.logger.logError(`Error closing sender for ${queueName}`, error);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
this.senders.clear();
|
|
277
|
+
// Close the connection
|
|
278
|
+
if (this.connection) {
|
|
279
|
+
try {
|
|
280
|
+
this.connection.close();
|
|
281
|
+
this.logger.info('Closed ActiveMQ Artemis connection');
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
this.logger.logError('Error closing connection', error);
|
|
285
|
+
}
|
|
286
|
+
this.connection = null;
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
247
290
|
}
|
|
248
291
|
exports.ActiveMQArtemisService = ActiveMQArtemisService;
|