podverse-mq 5.1.3-develop → 5.1.4-alpha.1
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/README.md +2 -2
- package/dist/functions/mq/rss/add.d.ts +9 -0
- package/dist/functions/mq/rss/add.d.ts.map +1 -0
- package/dist/functions/{queue → mq}/rss/add.js +3 -3
- package/dist/functions/mq/rss/addAll.d.ts +6 -0
- package/dist/functions/mq/rss/addAll.d.ts.map +1 -0
- package/dist/functions/{queue → mq}/rss/addAll.js +3 -3
- package/dist/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts +9 -0
- package/dist/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map +1 -0
- package/dist/functions/{queue → mq}/rss/addRecentlyUpdatedFeedsFromPodcastIndex.js +3 -3
- package/dist/functions/mq/rss/runLiveItemListener.d.ts +3 -0
- package/dist/functions/mq/rss/runLiveItemListener.d.ts.map +1 -0
- package/dist/functions/mq/rss/runLiveItemListener.js +138 -0
- package/dist/functions/mq/rss/runParser.d.ts +3 -0
- package/dist/functions/mq/rss/runParser.d.ts.map +1 -0
- package/dist/functions/{queue → mq}/rss/runParser.js +4 -4
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -11
- package/dist/services/activeMQArtemis/index.d.ts +2 -2
- package/dist/services/activeMQArtemis/index.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/functions/queue/rss/add.d.ts +0 -9
- package/dist/functions/queue/rss/add.d.ts.map +0 -1
- package/dist/functions/queue/rss/addAll.d.ts +0 -6
- package/dist/functions/queue/rss/addAll.d.ts.map +0 -1
- package/dist/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts +0 -9
- package/dist/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map +0 -1
- package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.d.ts +0 -9
- package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.d.ts.map +0 -1
- package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.js +0 -36
- package/dist/functions/queue/rss/runParser.d.ts +0 -3
- package/dist/functions/queue/rss/runParser.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# podverse-
|
|
1
|
+
# podverse-mq
|
|
2
2
|
|
|
3
3
|
A module for handling Podverse Queue (ActiveMQArtemis / AMQP) interactions.
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ A module for handling Podverse Queue (ActiveMQArtemis / AMQP) interactions.
|
|
|
6
6
|
|
|
7
7
|
### Environment Variables
|
|
8
8
|
|
|
9
|
-
The environment variables for this module must be set within the app that consumes this module (ex. `podverse-api` or `podverse-workers`). See `podverse-
|
|
9
|
+
The environment variables for this module must be set within the app that consumes this module (ex. `podverse-api` or `podverse-workers`). See `podverse-mq/config/index.ts` for a list of the env vars expected.
|
|
10
10
|
|
|
11
11
|
### Local Dev Workflow
|
|
12
12
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
2
|
+
import { MQQueueConfig } from "podverse-helpers";
|
|
3
|
+
type MQRSSAddOptions = MQQueueConfig & {
|
|
4
|
+
feedUrl: string;
|
|
5
|
+
podcastIndexId: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const mqRSSAdd: (activeMQArtemisService: ActiveMQArtemisService, options: MQRSSAddOptions) => Promise<void>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,eAAe,GAAG,aAAa,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,QAAQ,GACnB,wBAAwB,sBAAsB,EAC9C,SAAS,eAAe,kBAezB,CAAC"}
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
13
|
-
const
|
|
12
|
+
exports.mqRSSAdd = void 0;
|
|
13
|
+
const mqRSSAdd = (activeMQArtemisService, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
14
|
yield activeMQArtemisService.initialize();
|
|
15
15
|
const message = {
|
|
16
16
|
url: options.feedUrl,
|
|
@@ -23,4 +23,4 @@ const queueRSSAdd = (activeMQArtemisService, options) => __awaiter(void 0, void
|
|
|
23
23
|
dedupeCacheTimeMS: options.dedupeCacheTimeMS
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
|
-
exports.
|
|
26
|
+
exports.mqRSSAdd = mqRSSAdd;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
2
|
+
import { MQQueueConfig } from "podverse-helpers";
|
|
3
|
+
type MQRSSAddAllConfig = MQQueueConfig;
|
|
4
|
+
export declare const mqRSSAddAll: (activeMQArtemisService: ActiveMQArtemisService, config: MQRSSAddAllConfig) => Promise<void>;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=addAll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAll.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/addAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,iBAAiB,GAAG,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GACtB,wBAAwB,sBAAsB,EAC9C,QAAQ,iBAAiB,kBAoB1B,CAAC"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.mqRSSAddAll = void 0;
|
|
13
13
|
const podverse_orm_1 = require("podverse-orm");
|
|
14
|
-
const
|
|
14
|
+
const mqRSSAddAll = (activeMQArtemisService, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
15
|
const feedService = new podverse_orm_1.FeedService();
|
|
16
16
|
const feeds = yield feedService.getAll();
|
|
17
17
|
yield activeMQArtemisService.initialize();
|
|
@@ -28,4 +28,4 @@ const queueRSSAddAll = (activeMQArtemisService, config) => __awaiter(void 0, voi
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
exports.
|
|
31
|
+
exports.mqRSSAddAll = mqRSSAddAll;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PodcastIndexService } from 'podverse-external-services';
|
|
2
|
+
import { MQQueueConfig } from 'podverse-helpers';
|
|
3
|
+
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
4
|
+
type MQRSSAddAllRecentlyUpdatedFeedsOptions = MQQueueConfig & {
|
|
5
|
+
sinceRange: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: MQRSSAddAllRecentlyUpdatedFeedsOptions) => Promise<void>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addRecentlyUpdatedFeedsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,sCAAsC,GAAG,aAAa,GAAG;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,eAAO,MAAM,4CAA4C,GACvD,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,sCAAsC,kBA0BhD,CAAC"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = void 0;
|
|
13
13
|
const podverse_orm_1 = require("podverse-orm");
|
|
14
|
-
const
|
|
14
|
+
const mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = (activeMQArtemisService, podcastIndexService, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
15
|
const sinceRange = options.sinceRange;
|
|
16
16
|
const recentlyUpdatedFeeds = yield podcastIndexService.recentGetData(sinceRange);
|
|
17
17
|
yield activeMQArtemisService.initialize();
|
|
@@ -33,4 +33,4 @@ const queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = (activeMQArtemisService,
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
exports.
|
|
36
|
+
exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runLiveItemListener.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/runLiveItemListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAe,MAAM,iCAAiC,CAAC;AAMtF,eAAO,MAAM,wBAAwB,GACnC,wBAAwB,sBAAsB,SAoI/C,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.mqRSSRunLiveItemListener = void 0;
|
|
16
|
+
const podverse_helpers_1 = require("podverse-helpers");
|
|
17
|
+
const podverse_orm_1 = require("podverse-orm");
|
|
18
|
+
const ws_1 = __importDefault(require("ws"));
|
|
19
|
+
const add_1 = require("./add");
|
|
20
|
+
const mqRSSRunLiveItemListener = (activeMQArtemisService) => {
|
|
21
|
+
console.info('starting runLiveItemListener');
|
|
22
|
+
const feedService = new podverse_orm_1.FeedService();
|
|
23
|
+
/*
|
|
24
|
+
Run an interval to keep the node script running forever.
|
|
25
|
+
*/
|
|
26
|
+
setInterval(() => {
|
|
27
|
+
console.info('runLiveItemListener interval');
|
|
28
|
+
}, 100000000);
|
|
29
|
+
let openedSocket = null;
|
|
30
|
+
const timeInterval = 5000;
|
|
31
|
+
const url = 'wss://api.livewire.io/ws/podping';
|
|
32
|
+
let connectionIdCount = 0;
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
+
const hiveBlocksHandled = {};
|
|
35
|
+
function connect() {
|
|
36
|
+
const client = new ws_1.default(url);
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
console.info('client try to connect...');
|
|
39
|
+
let connectionId = connectionIdCount;
|
|
40
|
+
client.on('open', () => {
|
|
41
|
+
connectionId = connectionIdCount + 1;
|
|
42
|
+
connectionIdCount++;
|
|
43
|
+
console.info(`WEBSOCKET_OPEN: client connected to server at ${url}, connectionId: ${connectionId}`);
|
|
44
|
+
openedSocket = true;
|
|
45
|
+
resolve(openedSocket);
|
|
46
|
+
});
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
+
client.on('message', function message(data) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
try {
|
|
51
|
+
const msg = JSON.parse(data);
|
|
52
|
+
// If the hiveBlock was already processed by our listener, then skip the message.
|
|
53
|
+
if (hiveBlocksHandled[msg.n])
|
|
54
|
+
return;
|
|
55
|
+
const prodPodpingLiveIdRegex = new RegExp('^pp_(.*)_(live|liveEnd)$', 'i');
|
|
56
|
+
if (msg.t === 'podping') {
|
|
57
|
+
hiveBlocksHandled[msg.n] = true;
|
|
58
|
+
for (const p of msg.p) {
|
|
59
|
+
if (prodPodpingLiveIdRegex.test(p.i) &&
|
|
60
|
+
p.p.reason &&
|
|
61
|
+
(p.p.reason.toLowerCase() === 'live' || p.p.reason.toLowerCase() === 'liveend')) {
|
|
62
|
+
console.info(`p.p ${JSON.stringify(p.p)}, p.n Hive block number ${p.n}, connectionId: ${connectionId}`);
|
|
63
|
+
const addRSSObjs = [];
|
|
64
|
+
for (const url of p.p.iris) {
|
|
65
|
+
try {
|
|
66
|
+
if (url === null || url === void 0 ? void 0 : url.startsWith('http')) {
|
|
67
|
+
let feed = null;
|
|
68
|
+
try {
|
|
69
|
+
feed = yield feedService.getByUrl(url);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.info(`p.p.iris error ${error}, connectionId: ${connectionId}`);
|
|
73
|
+
}
|
|
74
|
+
if (feed === null || feed === void 0 ? void 0 : feed.channel) {
|
|
75
|
+
const { podcast_index_id } = feed.channel;
|
|
76
|
+
const numPodcastIndexId = Number(podcast_index_id);
|
|
77
|
+
if (podcast_index_id)
|
|
78
|
+
addRSSObjs.push({ url, podcast_index_id: numPodcastIndexId });
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
console.info('feed url not found');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
console.info(`p.p.iris error ${err}, connectionId: ${connectionId}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const queueType = 'rss-live';
|
|
90
|
+
const mqConstantMessageOptions = podverse_helpers_1.MQ_QUEUES[queueType];
|
|
91
|
+
for (const addRSSObj of addRSSObjs) {
|
|
92
|
+
yield (0, add_1.mqRSSAdd)(activeMQArtemisService, Object.assign(Object.assign({}, mqConstantMessageOptions), { feedUrl: addRSSObj.url, podcastIndexId: addRSSObj.podcast_index_id }));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
console.info(`message error: ${err}, connectionId: ${connectionId}`);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
client.on('close', (err) => {
|
|
104
|
+
console.info(`WEBSOCKET_CLOSE: connection closed ${err}, connectionId: ${connectionId}`);
|
|
105
|
+
openedSocket = false;
|
|
106
|
+
reject(err);
|
|
107
|
+
});
|
|
108
|
+
client.on('error', (err) => {
|
|
109
|
+
console.info(`WEBSOCKET_ERROR: Error ${new Error(err.message)}, connectionId: ${connectionId}`);
|
|
110
|
+
openedSocket = false;
|
|
111
|
+
reject(err);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function reconnect() {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
try {
|
|
118
|
+
yield connect();
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
if (err instanceof Error) {
|
|
122
|
+
console.error(`reconnect error: ${err.message}`);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.error(`reconnect error: ${String(err)}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
reconnect();
|
|
131
|
+
// repeat every 5 seconds
|
|
132
|
+
setInterval(() => {
|
|
133
|
+
if (!openedSocket) {
|
|
134
|
+
reconnect();
|
|
135
|
+
}
|
|
136
|
+
}, timeInterval);
|
|
137
|
+
};
|
|
138
|
+
exports.mqRSSRunLiveItemListener = mqRSSRunLiveItemListener;
|
|
@@ -0,0 +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;AAEtF,eAAO,MAAM,cAAc,GACzB,wBAAwB,sBAAsB,EAC9C,WAAW,WAAW,kBAmBvB,CAAC"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.mqRSSRunParser = void 0;
|
|
13
13
|
const podverse_parser_1 = require("podverse-parser");
|
|
14
|
-
const
|
|
14
|
+
const mqRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
15
|
yield activeMQArtemisService.initialize();
|
|
16
16
|
yield activeMQArtemisService.consumeMessages(queueName, (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
17
|
try {
|
|
@@ -22,7 +22,7 @@ const queueRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void
|
|
|
22
22
|
yield (0, podverse_parser_1.parseRSSFeedAndSaveToDatabase)(url, podcast_index_id);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
throw new Error(`
|
|
25
|
+
throw new Error(`mqRSSRunParser: url or podcast_index_id not found in message ${receivedMessage === null || receivedMessage === void 0 ? void 0 : receivedMessage.toString()}`);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
catch (error) {
|
|
@@ -30,4 +30,4 @@ const queueRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void
|
|
|
30
30
|
}
|
|
31
31
|
}));
|
|
32
32
|
});
|
|
33
|
-
exports.
|
|
33
|
+
exports.mqRSSRunParser = mqRSSRunParser;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './module-alias-config';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
2
|
+
export { mqRSSAdd } from './functions/mq/rss/add';
|
|
3
|
+
export { mqRSSAddAll } from './functions/mq/rss/addAll';
|
|
4
|
+
export { mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex } from './functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex';
|
|
5
|
+
export { mqRSSRunParser } from './functions/mq/rss/runParser';
|
|
6
|
+
export { mqRSSRunLiveItemListener } from './functions/mq/rss/runLiveItemListener';
|
|
7
7
|
export { ActiveMQArtemisService, ActiveMQArtemisServiceParams } from './services/activeMQArtemis';
|
|
8
8
|
//# 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,
|
|
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,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActiveMQArtemisService = exports.
|
|
3
|
+
exports.ActiveMQArtemisService = exports.mqRSSRunLiveItemListener = exports.mqRSSRunParser = exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = exports.mqRSSAddAll = exports.mqRSSAdd = void 0;
|
|
4
4
|
require("./module-alias-config");
|
|
5
|
-
var add_1 = require("./functions/
|
|
6
|
-
Object.defineProperty(exports, "
|
|
7
|
-
var addAll_1 = require("./functions/
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
var addRecentlyUpdatedFeedsFromPodcastIndex_1 = require("./functions/
|
|
10
|
-
Object.defineProperty(exports, "
|
|
11
|
-
var
|
|
12
|
-
Object.defineProperty(exports, "
|
|
13
|
-
var
|
|
14
|
-
Object.defineProperty(exports, "
|
|
5
|
+
var add_1 = require("./functions/mq/rss/add");
|
|
6
|
+
Object.defineProperty(exports, "mqRSSAdd", { enumerable: true, get: function () { return add_1.mqRSSAdd; } });
|
|
7
|
+
var addAll_1 = require("./functions/mq/rss/addAll");
|
|
8
|
+
Object.defineProperty(exports, "mqRSSAddAll", { enumerable: true, get: function () { return addAll_1.mqRSSAddAll; } });
|
|
9
|
+
var addRecentlyUpdatedFeedsFromPodcastIndex_1 = require("./functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex");
|
|
10
|
+
Object.defineProperty(exports, "mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex", { enumerable: true, get: function () { return addRecentlyUpdatedFeedsFromPodcastIndex_1.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex; } });
|
|
11
|
+
var runParser_1 = require("./functions/mq/rss/runParser");
|
|
12
|
+
Object.defineProperty(exports, "mqRSSRunParser", { enumerable: true, get: function () { return runParser_1.mqRSSRunParser; } });
|
|
13
|
+
var runLiveItemListener_1 = require("./functions/mq/rss/runLiveItemListener");
|
|
14
|
+
Object.defineProperty(exports, "mqRSSRunLiveItemListener", { enumerable: true, get: function () { return runLiveItemListener_1.mqRSSRunLiveItemListener; } });
|
|
15
15
|
var activeMQArtemis_1 = require("./services/activeMQArtemis");
|
|
16
16
|
Object.defineProperty(exports, "ActiveMQArtemisService", { enumerable: true, get: function () { return activeMQArtemis_1.ActiveMQArtemisService; } });
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Delivery } from 'rhea';
|
|
2
2
|
import { LoggerService } from 'podverse-helpers/dist/lib/backend/logger';
|
|
3
3
|
export type MQQueueName = 'rss-normal' | 'rss-on-demand' | 'rss-live';
|
|
4
|
-
type
|
|
4
|
+
type MQRSSMessage = {
|
|
5
5
|
url: string;
|
|
6
6
|
podcast_index_id: number | null;
|
|
7
7
|
};
|
|
8
|
-
type Message =
|
|
8
|
+
type Message = MQRSSMessage;
|
|
9
9
|
type SendMessageParams = {
|
|
10
10
|
queueName: MQQueueName;
|
|
11
11
|
message: Message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAI,eAAe,GAAG,UAAU,CAAC;AAEvE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAI,eAAe,GAAG,UAAU,CAAC;AAEvE,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;gBAEf,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;IAyCrD,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA8B3D,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CA2BpJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "podverse-mq",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.4-alpha.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,17 +17,19 @@
|
|
|
17
17
|
"license": "AGPLv3",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"module-alias": "^2.2.3",
|
|
20
|
-
"podverse-external-services": "^5.0
|
|
21
|
-
"podverse-helpers": "^5.1.
|
|
22
|
-
"podverse-orm": "^5.
|
|
23
|
-
"podverse-parser": "^5.0
|
|
24
|
-
"rhea": "^2.0.6"
|
|
20
|
+
"podverse-external-services": "^5.1.4-alpha.0",
|
|
21
|
+
"podverse-helpers": "^5.1.4-alpha.1",
|
|
22
|
+
"podverse-orm": "^5.1.4-alpha.1",
|
|
23
|
+
"podverse-parser": "^5.1.4-alpha.0",
|
|
24
|
+
"rhea": "^2.0.6",
|
|
25
|
+
"ws": "^8.18.3"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@eslint/config-array": "^0.21.0",
|
|
28
29
|
"@eslint/eslintrc": "^3.3.1",
|
|
29
30
|
"@eslint/js": "^9.35.0",
|
|
30
31
|
"@types/node": "^24.4.0",
|
|
32
|
+
"@types/ws": "^8.18.1",
|
|
31
33
|
"eslint": "^9.35.0",
|
|
32
34
|
"nodemon": "^3.1.10",
|
|
33
35
|
"ts-node": "^10.9.2",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
2
|
-
import { MQQueueConfig } from "podverse-helpers";
|
|
3
|
-
type QueueRSSAddOptions = MQQueueConfig & {
|
|
4
|
-
feedUrl: string;
|
|
5
|
-
podcastIndexId: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const queueRSSAdd: (activeMQArtemisService: ActiveMQArtemisService, options: QueueRSSAddOptions) => Promise<void>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=add.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,kBAAkB,GAAG,aAAa,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,wBAAwB,sBAAsB,EAC9C,SAAS,kBAAkB,kBAe5B,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
2
|
-
import { MQQueueConfig } from "podverse-helpers";
|
|
3
|
-
type QueueRSSAddAllConfig = MQQueueConfig;
|
|
4
|
-
export declare const queueRSSAddAll: (activeMQArtemisService: ActiveMQArtemisService, config: QueueRSSAddAllConfig) => Promise<void>;
|
|
5
|
-
export {};
|
|
6
|
-
//# sourceMappingURL=addAll.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addAll.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,oBAAoB,GAAG,aAAa,CAAC;AAE1C,eAAO,MAAM,cAAc,GACzB,wBAAwB,sBAAsB,EAC9C,QAAQ,oBAAoB,kBAoB7B,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PodcastIndexService } from 'podverse-external-services';
|
|
2
|
-
import { MQQueueConfig } from 'podverse-helpers';
|
|
3
|
-
import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
|
|
4
|
-
type QueueRSSAddAllRecentlyUpdatedFeedsOptions = MQQueueConfig & {
|
|
5
|
-
sinceRange: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: QueueRSSAddAllRecentlyUpdatedFeedsOptions) => Promise<void>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addRecentlyUpdatedFeedsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,yCAAyC,GAAG,aAAa,GAAG;IAC/D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,eAAO,MAAM,+CAA+C,GAC1D,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,yCAAyC,kBA0BnD,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PodcastIndexService } from 'podverse-external-services';
|
|
2
|
-
import { MQQueueConfig } from 'podverse-helpers';
|
|
3
|
-
import { ActiveMQArtemisService } from '@queue/services/activeMQArtemis';
|
|
4
|
-
type AddTrendingPodcastsOptions = MQQueueConfig & {
|
|
5
|
-
maxFeeds?: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const queueRSSAddTrendingPodcastsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: AddTrendingPodcastsOptions) => Promise<void>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=addTrendingPodcastsFromPodcastIndex.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addTrendingPodcastsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,0BAA0B,GAAG,aAAa,GAAG;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,2CAA2C,GACtD,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,0BAA0B,KAClC,OAAO,CAAC,IAAI,CAyBd,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.queueRSSAddTrendingPodcastsFromPodcastIndex = void 0;
|
|
13
|
-
const queueRSSAddTrendingPodcastsFromPodcastIndex = (activeMQArtemisService, podcastIndexService, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
const { queueName, maxFeeds = 1000 } = options;
|
|
15
|
-
try {
|
|
16
|
-
const { feeds } = yield podcastIndexService.trendingGetPodcasts(maxFeeds);
|
|
17
|
-
yield activeMQArtemisService.initialize();
|
|
18
|
-
for (const feed of feeds) {
|
|
19
|
-
const message = {
|
|
20
|
-
url: feed.url,
|
|
21
|
-
podcast_index_id: feed.id
|
|
22
|
-
};
|
|
23
|
-
yield activeMQArtemisService.sendMessage({
|
|
24
|
-
queueName,
|
|
25
|
-
message,
|
|
26
|
-
priority: options.priority,
|
|
27
|
-
dedupeCacheTimeMS: options.dedupeCacheTimeMS
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
console.error('[queueRSSAddTrendingPodcastsFromPodcastIndex] Error adding trending podcasts:', error);
|
|
33
|
-
throw error;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
exports.queueRSSAddTrendingPodcastsFromPodcastIndex = queueRSSAddTrendingPodcastsFromPodcastIndex;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runParser.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/runParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,iBAAiB,GAC5B,wBAAwB,sBAAsB,EAC9C,WAAW,WAAW,kBAmBvB,CAAC"}
|