@levrbet/shared 0.4.54 → 0.4.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.
|
@@ -17,5 +17,6 @@ export declare class BaseQueueManager {
|
|
|
17
17
|
addToQueue(connection: ChannelModel, identifier: string, exchangeIdentifier: string, data: unknown, priority?: number): Promise<boolean>;
|
|
18
18
|
deleteQueue(connection: ChannelModel, identifier: string): Promise<void>;
|
|
19
19
|
checkQueueExists(connection: ChannelModel, identifier: string): Promise<boolean>;
|
|
20
|
+
isQueueNotFoundError(error: unknown): Promise<boolean>;
|
|
20
21
|
isQueueEmpty(connection: ChannelModel, identifier: string): Promise<boolean>;
|
|
21
22
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseQueueManager = void 0;
|
|
4
|
-
|
|
4
|
+
// import { AlertSeverity, sendAdminAlert } from "../../../core"
|
|
5
5
|
const config_1 = require("../../config");
|
|
6
6
|
class BaseQueueManager {
|
|
7
7
|
constructor(config) {
|
|
@@ -9,9 +9,18 @@ class BaseQueueManager {
|
|
|
9
9
|
}
|
|
10
10
|
async withChannel(connection, operation) {
|
|
11
11
|
const channel = await connection.createChannel();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
try {
|
|
13
|
+
const result = await operation(channel);
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
finally {
|
|
17
|
+
try {
|
|
18
|
+
await channel.close();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// channel already closed (e.g. killed by a 404 checkQueue response)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
15
24
|
}
|
|
16
25
|
handleError(functionName, error, message) {
|
|
17
26
|
if (error instanceof Error) {
|
|
@@ -21,15 +30,21 @@ class BaseQueueManager {
|
|
|
21
30
|
config_1.logger.error(`Unknown error: ${error}`);
|
|
22
31
|
config_1.logger.debug(`${message} ${this.config.className} ${functionName}`);
|
|
23
32
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
//temp pause alerting until we have more confidence in the stability of the queues
|
|
34
|
+
// void sendAdminAlert(
|
|
35
|
+
// {
|
|
36
|
+
// title: `Error in ${this.config.className} ${functionName}`,
|
|
37
|
+
// message: error instanceof Error ? error.stack || error.message : String(error),
|
|
38
|
+
// description: `${message} in ${this.config.className} ${functionName}`,
|
|
39
|
+
// severity: AlertSeverity.HIGH,
|
|
40
|
+
// type: "error",
|
|
41
|
+
// timestamp: new Date(),
|
|
42
|
+
// id: `${this.config.className}-${functionName}-${Date.now()}`,
|
|
43
|
+
// },
|
|
44
|
+
// LEVR_ENV
|
|
45
|
+
// ).catch((alertError) => {
|
|
46
|
+
// logger.error(`Failed to send admin alert: ${alertError instanceof Error ? alertError.stack || alertError.message : String(alertError)}`)
|
|
47
|
+
// })
|
|
33
48
|
}
|
|
34
49
|
generateQueueName(identifier) {
|
|
35
50
|
// if (this.config.isLiquidationEngineQueue && !identifier.endsWith(this.liquidationEngineQueueSuffix)) {
|
|
@@ -103,21 +118,36 @@ class BaseQueueManager {
|
|
|
103
118
|
}
|
|
104
119
|
}
|
|
105
120
|
async checkQueueExists(connection, identifier) {
|
|
121
|
+
const queueName = this.config.queuePrefix + identifier;
|
|
106
122
|
try {
|
|
107
123
|
return await this.withChannel(connection, async (channel) => {
|
|
108
|
-
|
|
109
|
-
|
|
124
|
+
try {
|
|
125
|
+
await channel.checkQueue(queueName);
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
// checkQueue throws + kills the channel on 404
|
|
130
|
+
// catch it HERE before withChannel sees it
|
|
131
|
+
if (await this.isQueueNotFoundError(error)) {
|
|
132
|
+
config_1.logger.info(this.config.className, "checkQueueExists", `Queue does not exist: ${queueName}`);
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
throw error; // re-throw anything unexpected
|
|
136
|
+
}
|
|
110
137
|
});
|
|
111
138
|
}
|
|
112
139
|
catch (error) {
|
|
113
|
-
if (error instanceof Error && error.message.includes("NOT_FOUND")) {
|
|
114
|
-
config_1.logger.info(this.config.className, "checkQueueExists", `Queue does not exist: ${this.config.queuePrefix + identifier}`);
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
140
|
this.handleError("checkQueueExists", error, "Failed to check queue existence");
|
|
118
|
-
|
|
141
|
+
throw error;
|
|
119
142
|
}
|
|
120
143
|
}
|
|
144
|
+
async isQueueNotFoundError(error) {
|
|
145
|
+
if (!(error instanceof Error))
|
|
146
|
+
return false;
|
|
147
|
+
const amqpError = error;
|
|
148
|
+
return (amqpError.code === 404 || error.message.includes("NOT_FOUND") || error.message.includes("Channel ended") // dead channel from a 404
|
|
149
|
+
);
|
|
150
|
+
}
|
|
121
151
|
async isQueueEmpty(connection, identifier) {
|
|
122
152
|
try {
|
|
123
153
|
return await this.withChannel(connection, async (channel) => {
|
|
@@ -126,7 +156,7 @@ class BaseQueueManager {
|
|
|
126
156
|
});
|
|
127
157
|
}
|
|
128
158
|
catch (error) {
|
|
129
|
-
if (
|
|
159
|
+
if (await this.isQueueNotFoundError(error)) {
|
|
130
160
|
config_1.logger.info(this.config.className, "isQueueEmpty", `Queue does not exist: ${this.config.queuePrefix + identifier}`);
|
|
131
161
|
return true;
|
|
132
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.queue.manager.js","sourceRoot":"","sources":["../../../../src/server/oracle/rmq-manager/base.queue.manager.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"base.queue.manager.js","sourceRoot":"","sources":["../../../../src/server/oracle/rmq-manager/base.queue.manager.ts"],"names":[],"mappings":"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"}
|