rabbit-queue 5.4.2 → 5.6.0
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 +33 -0
- package/dependabot.yml +6 -0
- package/docker-compose.yml +13 -11
- package/js/base-queue-handler.d.ts +10 -6
- package/js/base-queue-handler.js +23 -13
- package/js/base-queue-handler.js.map +1 -1
- package/js/migrate.d.ts +11 -0
- package/js/migrate.js +63 -0
- package/js/migrate.js.map +1 -0
- package/js/migrator.d.ts +11 -0
- package/js/migrator.js +69 -0
- package/js/migrator.js.map +1 -0
- package/js/queue.js +4 -3
- package/js/queue.js.map +1 -1
- package/js/rabbit.d.ts +3 -3
- package/js/rabbit.js +4 -4
- package/js/rabbit.js.map +1 -1
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -217,6 +217,39 @@ eg:
|
|
|
217
217
|
```javascript
|
|
218
218
|
rabbit.on('log', (component, level, ...args) => console.log(`[${level}] ${component}`, ...args));
|
|
219
219
|
```
|
|
220
|
+
const rabbit = new Rabbit('amqp://localhost');
|
|
221
|
+
class DemoHandler extends BaseQueueHandler {
|
|
222
|
+
handle({ msg, event, correlationId, startTime }) {
|
|
223
|
+
console.log('Received: ', event);
|
|
224
|
+
console.log('With correlation id: ' + correlationId);
|
|
225
|
+
}
|
|
226
|
+
afterDlq({ msg, event }) {
|
|
227
|
+
// Something to do after added to dlq
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
new DemoHandler('demoQueue', rabbit, {
|
|
232
|
+
retries: 3,
|
|
233
|
+
retryDelay: 1000,
|
|
234
|
+
logEnabled: true, //log queue processing time
|
|
235
|
+
scope: 'SINGLETON', //can also be 'PROTOTYPE' to create a new instance every time
|
|
236
|
+
createAndSubscribeToQueue: true, // used internally no need to overwrite
|
|
237
|
+
migrateQueue: true // if you want to migrate the queue from one configuration to another - otherwise it will throw an error if the queue already exists with different configuration
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
rabbit.publish('demoQueue', { test: 'data' }, { correlationId: '4' });
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
### Migrating Queues
|
|
245
|
+
|
|
246
|
+
Rabbit-queue supports migrating queues from one configuration to another.
|
|
247
|
+
RabbitMQ will fail and close the channel if you try to create a queue with the same name but different configuration.
|
|
248
|
+
To migrate a queue, you can use the `migrateQueue` option.
|
|
249
|
+
|
|
250
|
+
```javascript
|
|
251
|
+
const rabbit = new Rabbit(process.env.RABBIT_URL || 'amqp://localhost');
|
|
252
|
+
|
|
220
253
|
|
|
221
254
|
### Changelog
|
|
222
255
|
|
package/dependabot.yml
ADDED
package/docker-compose.yml
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
version: "2.2"
|
|
2
|
+
services:
|
|
3
|
+
rabbit-queue:
|
|
4
|
+
image: node:22
|
|
5
|
+
working_dir: /code
|
|
6
|
+
volumes:
|
|
7
|
+
- .:/code
|
|
8
|
+
links:
|
|
9
|
+
- rabbit
|
|
10
|
+
environment:
|
|
11
|
+
RABBIT_URL: 'amqp://rabbit'
|
|
12
|
+
rabbit:
|
|
13
|
+
image: rabbitmq
|
|
@@ -3,7 +3,7 @@ import * as amqp from 'amqplib';
|
|
|
3
3
|
import Queue from './queue';
|
|
4
4
|
import getLogger from './logger';
|
|
5
5
|
declare abstract class BaseQueueHandler {
|
|
6
|
-
queueName:
|
|
6
|
+
queueName: string;
|
|
7
7
|
rabbit: Rabbit;
|
|
8
8
|
dlqName: string;
|
|
9
9
|
retries: number;
|
|
@@ -15,23 +15,27 @@ declare abstract class BaseQueueHandler {
|
|
|
15
15
|
created: Promise<void>;
|
|
16
16
|
scope: 'SINGLETON' | 'PROTOTYPE';
|
|
17
17
|
prefetch?: number;
|
|
18
|
+
options: amqp.Options.AssertQueue & amqp.Options.Consume;
|
|
19
|
+
migrateQueue: boolean;
|
|
18
20
|
static SCOPES: {
|
|
19
21
|
singleton: 'SINGLETON';
|
|
20
22
|
prototype: 'PROTOTYPE';
|
|
21
23
|
};
|
|
22
|
-
constructor(queueName:
|
|
24
|
+
constructor(queueName: string, rabbit: Rabbit, { retries, retryDelay, logEnabled, scope, createAndSubscribeToQueue, prefetch, migrateQueue, options }?: {
|
|
23
25
|
retries?: number;
|
|
24
26
|
retryDelay?: number;
|
|
25
27
|
logEnabled?: boolean;
|
|
26
28
|
scope?: "SINGLETON" | "PROTOTYPE";
|
|
27
29
|
createAndSubscribeToQueue?: boolean;
|
|
28
30
|
prefetch?: number;
|
|
31
|
+
migrateQueue?: boolean;
|
|
32
|
+
options?: amqp.Options.AssertQueue;
|
|
29
33
|
});
|
|
30
34
|
getDlq(): string;
|
|
31
|
-
getCorrelationId(msg: amqp.Message,
|
|
32
|
-
getQueueOptions():
|
|
33
|
-
getDlqOptions():
|
|
34
|
-
static prototypeFactory<T extends BaseQueueHandler>(queueName:
|
|
35
|
+
getCorrelationId(msg: amqp.Message, _event?: any): any;
|
|
36
|
+
getQueueOptions(): amqp.Options.AssertQueue & amqp.Options.Consume;
|
|
37
|
+
getDlqOptions(): amqp.Options.AssertQueue & amqp.Options.Consume;
|
|
38
|
+
static prototypeFactory<T extends BaseQueueHandler>(queueName: string, rabbit: Rabbit, options?: {}): T;
|
|
35
39
|
createQueues(): Promise<void>;
|
|
36
40
|
tryHandle(retries: any, msg: amqp.Message, ack: (error: any, reply: any) => any): Promise<void>;
|
|
37
41
|
handleError(err: any, msg: any): void;
|
package/js/base-queue-handler.js
CHANGED
|
@@ -11,8 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const encode_decode_1 = require("./encode-decode");
|
|
13
13
|
const logger_1 = require("./logger");
|
|
14
|
+
const migrator_1 = require("./migrator");
|
|
14
15
|
class BaseQueueHandler {
|
|
15
|
-
constructor(queueName, rabbit, { retries = 3, retryDelay = 1000, logEnabled = true, scope = BaseQueueHandler.SCOPES.singleton, createAndSubscribeToQueue = true, prefetch = rabbit.prefetch, } = {}) {
|
|
16
|
+
constructor(queueName, rabbit, { retries = 3, retryDelay = 1000, logEnabled = true, scope = BaseQueueHandler.SCOPES.singleton, createAndSubscribeToQueue = true, prefetch = rabbit.prefetch, migrateQueue = false, options = {} } = {}) {
|
|
16
17
|
this.queueName = queueName;
|
|
17
18
|
this.rabbit = rabbit;
|
|
18
19
|
const logger = logger_1.default(`rabbit-queue.${queueName}`);
|
|
@@ -23,6 +24,8 @@ class BaseQueueHandler {
|
|
|
23
24
|
this.logEnabled = logEnabled;
|
|
24
25
|
this.scope = scope;
|
|
25
26
|
this.dlqName = this.getDlq();
|
|
27
|
+
this.options = options;
|
|
28
|
+
this.migrateQueue = migrateQueue;
|
|
26
29
|
if (createAndSubscribeToQueue) {
|
|
27
30
|
this.created = this.createQueues();
|
|
28
31
|
}
|
|
@@ -30,14 +33,14 @@ class BaseQueueHandler {
|
|
|
30
33
|
getDlq() {
|
|
31
34
|
return this.queueName + '_dlq';
|
|
32
35
|
}
|
|
33
|
-
getCorrelationId(msg,
|
|
36
|
+
getCorrelationId(msg, _event) {
|
|
34
37
|
return msg.properties.correlationId;
|
|
35
38
|
}
|
|
36
39
|
getQueueOptions() {
|
|
37
|
-
return
|
|
40
|
+
return this.options;
|
|
38
41
|
}
|
|
39
42
|
getDlqOptions() {
|
|
40
|
-
return
|
|
43
|
+
return this.options;
|
|
41
44
|
}
|
|
42
45
|
static prototypeFactory(queueName, rabbit, options = {}) {
|
|
43
46
|
const Constructor = this;
|
|
@@ -46,10 +49,14 @@ class BaseQueueHandler {
|
|
|
46
49
|
}
|
|
47
50
|
createQueues() {
|
|
48
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (this.migrateQueue) {
|
|
53
|
+
yield this.rabbit.connected;
|
|
54
|
+
yield new migrator_1.Migrator(this.rabbit.consumeConnection).tryMigrateQueue(this.queueName, this.getQueueOptions());
|
|
55
|
+
}
|
|
49
56
|
this.queue = yield this.rabbit
|
|
50
57
|
.createQueue(this.queueName, Object.assign(Object.assign({}, this.getQueueOptions()), { prefetch: this.prefetch }), (msg, ack) => {
|
|
51
58
|
if (this.scope === BaseQueueHandler.SCOPES.singleton) {
|
|
52
|
-
this.tryHandle(0, msg, ack).catch(
|
|
59
|
+
this.tryHandle(0, msg, ack).catch(e => this.logger.error(e));
|
|
53
60
|
}
|
|
54
61
|
else {
|
|
55
62
|
const instance = new this.constructor(this.queueName, this.rabbit, {
|
|
@@ -58,15 +65,18 @@ class BaseQueueHandler {
|
|
|
58
65
|
logger: this.logger,
|
|
59
66
|
logEnabled: this.logEnabled,
|
|
60
67
|
scope: this.scope,
|
|
61
|
-
createAndSubscribeToQueue: false
|
|
68
|
+
createAndSubscribeToQueue: false
|
|
62
69
|
});
|
|
63
|
-
instance.tryHandle(0, msg, ack).catch(
|
|
70
|
+
instance.tryHandle(0, msg, ack).catch(e => this.logger.error(e));
|
|
64
71
|
}
|
|
65
72
|
})
|
|
66
|
-
.catch(
|
|
73
|
+
.catch(error => this.logger.error(error));
|
|
74
|
+
if (this.migrateQueue) {
|
|
75
|
+
yield new migrator_1.Migrator(this.rabbit.consumeConnection).tryMigrateQueue(this.dlqName, this.getDlqOptions());
|
|
76
|
+
}
|
|
67
77
|
this.dlq = yield this.rabbit
|
|
68
78
|
.createQueue(this.dlqName, this.getDlqOptions())
|
|
69
|
-
.catch(
|
|
79
|
+
.catch(error => this.logger.error(error));
|
|
70
80
|
});
|
|
71
81
|
}
|
|
72
82
|
tryHandle(retries, msg, ack) {
|
|
@@ -85,7 +95,7 @@ class BaseQueueHandler {
|
|
|
85
95
|
}
|
|
86
96
|
catch (err) {
|
|
87
97
|
this.handleError(err, msg);
|
|
88
|
-
this.retry(retries, msg, ack).catch(
|
|
98
|
+
this.retry(retries, msg, ack).catch(error => this.logger.error(error));
|
|
89
99
|
}
|
|
90
100
|
});
|
|
91
101
|
}
|
|
@@ -98,7 +108,7 @@ class BaseQueueHandler {
|
|
|
98
108
|
name: err.name && err.name.substr(0, 200),
|
|
99
109
|
message: err.message && err.message.substr(0, 200),
|
|
100
110
|
stack: err.stack && err.stack.substr(0, 200),
|
|
101
|
-
time: new Date().toString()
|
|
111
|
+
time: new Date().toString()
|
|
102
112
|
};
|
|
103
113
|
}
|
|
104
114
|
getTime() {
|
|
@@ -125,7 +135,7 @@ class BaseQueueHandler {
|
|
|
125
135
|
});
|
|
126
136
|
}
|
|
127
137
|
afterDlq(data) {
|
|
128
|
-
this.logger.info(`[${this.getCorrelationId(data.msg)}]
|
|
138
|
+
this.logger.info(`[${this.getCorrelationId(data.msg)}] Running afterDlq`);
|
|
129
139
|
}
|
|
130
140
|
addToDLQ(retries, msg, ack) {
|
|
131
141
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -147,7 +157,7 @@ class BaseQueueHandler {
|
|
|
147
157
|
}
|
|
148
158
|
BaseQueueHandler.SCOPES = {
|
|
149
159
|
singleton: 'SINGLETON',
|
|
150
|
-
prototype: 'PROTOTYPE'
|
|
160
|
+
prototype: 'PROTOTYPE'
|
|
151
161
|
};
|
|
152
162
|
exports.default = BaseQueueHandler;
|
|
153
163
|
//# sourceMappingURL=base-queue-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,mDAAyC;AAEzC,qCAAiC;
|
|
1
|
+
{"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":"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"}
|
package/js/migrate.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import getLogger from './logger';
|
|
2
|
+
import * as amqp from 'amqplib';
|
|
3
|
+
import { Channel } from './channel';
|
|
4
|
+
export declare class Migrator {
|
|
5
|
+
private connection;
|
|
6
|
+
logger: ReturnType<typeof getLogger>;
|
|
7
|
+
constructor(connection: amqp.ChannelModel);
|
|
8
|
+
tryMigrateQueue(queueName: string, opts?: any): Promise<void>;
|
|
9
|
+
migrateQueue(newQueue: string, fromQueue: string, opts: any, channel: Channel): Promise<void>;
|
|
10
|
+
assertQueue(queueName: string, opts: {}): Promise<boolean>;
|
|
11
|
+
}
|
package/js/migrate.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
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.Migrator = void 0;
|
|
13
|
+
const logger_1 = require("./logger");
|
|
14
|
+
class Migrator {
|
|
15
|
+
constructor(connection) {
|
|
16
|
+
this.connection = connection;
|
|
17
|
+
this.logger = logger_1.default('migrator');
|
|
18
|
+
}
|
|
19
|
+
tryMigrateQueue(queueName, opts = {}) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
if (yield this.assertQueue(queueName, opts)) {
|
|
22
|
+
const channel = yield this.connection.createConfirmChannel();
|
|
23
|
+
yield this.migrateQueue(queueName + '_tmp', queueName, opts, channel);
|
|
24
|
+
yield this.migrateQueue(queueName, queueName + '_tmp', opts, channel);
|
|
25
|
+
this.logger.info(`Queue ${queueName} migrated successfully.`);
|
|
26
|
+
channel.close();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.logger.info(`Queue already ${queueName} migrated.`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
migrateQueue(newQueue, fromQueue, opts = {}, channel) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
this.logger.info(`Migrating queue ${fromQueue} to ${newQueue} and opts ${opts}...`);
|
|
35
|
+
yield channel.assertQueue(newQueue, opts);
|
|
36
|
+
while (true) {
|
|
37
|
+
const message = yield channel.get(fromQueue, { noAck: false });
|
|
38
|
+
if (!message)
|
|
39
|
+
break;
|
|
40
|
+
yield new Promise((resolve, reject) => channel.sendToQueue(newQueue, message.content, message.properties, (err, ok) => err ? reject(err) : resolve(ok)));
|
|
41
|
+
channel.ack(message);
|
|
42
|
+
}
|
|
43
|
+
const response = yield channel.deleteQueue(fromQueue, { ifEmpty: true });
|
|
44
|
+
this.logger.info(`Queue ${fromQueue} deleted: ${response.messageCount === 0}.`);
|
|
45
|
+
this.logger.info(`Queue ${fromQueue} migrated to ${newQueue}.`);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
assertQueue(queueName, opts) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const channel = yield this.connection.createChannel();
|
|
51
|
+
try {
|
|
52
|
+
yield channel.assertQueue(queueName, opts);
|
|
53
|
+
channel.close();
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.Migrator = Migrator;
|
|
63
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../ts/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiC;AAIjC,MAAa,QAAQ;IAGnB,YAAoB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAC/C,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEK,eAAe,CAAC,SAAiB,EAAE,OAAY,EAAE;;YACrD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,yBAAyB,CAAC,CAAC;gBAC9D,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,YAAY,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,YAAY,CAAC,QAAgB,EAAE,SAAiB,EAAE,OAAY,EAAE,EAAE,OAAgB;;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,OAAO,QAAQ,aAAa,IAAI,KAAK,CAAC,CAAC;YACpF,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE1C,OAAO,IAAI,EAAE;gBACX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAO,EAAE,EAAE,CACvF,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,aAAa,QAAQ,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,gBAAgB,QAAQ,GAAG,CAAC,CAAC;QAClE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,IAAQ;;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI;gBACF,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;CACF;AAlDD,4BAkDC"}
|
package/js/migrator.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import getLogger from './logger';
|
|
2
|
+
import * as amqp from 'amqplib';
|
|
3
|
+
import { Channel } from './channel';
|
|
4
|
+
export declare class Migrator {
|
|
5
|
+
private connection;
|
|
6
|
+
logger: ReturnType<typeof getLogger>;
|
|
7
|
+
constructor(connection: amqp.ChannelModel);
|
|
8
|
+
tryMigrateQueue(queueName: string, opts?: any): Promise<void>;
|
|
9
|
+
migrateQueue(newQueue: string, fromQueue: string, opts: any, channel: Channel): Promise<void>;
|
|
10
|
+
assertQueue(queueName: string, opts: {}): Promise<boolean>;
|
|
11
|
+
}
|
package/js/migrator.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
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.Migrator = void 0;
|
|
13
|
+
const logger_1 = require("./logger");
|
|
14
|
+
const queue_1 = require("./queue");
|
|
15
|
+
class Migrator {
|
|
16
|
+
constructor(connection) {
|
|
17
|
+
this.connection = connection;
|
|
18
|
+
this.logger = logger_1.default('rabbit-queue.migrator');
|
|
19
|
+
}
|
|
20
|
+
tryMigrateQueue(queueName, opts = {}) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
if (!(yield this.assertQueue(queueName, opts))) {
|
|
23
|
+
const channel = yield this.connection.createConfirmChannel();
|
|
24
|
+
yield this.migrateQueue(queueName + '.migration.tmp', queueName, opts, channel);
|
|
25
|
+
yield this.migrateQueue(queueName, queueName + '.migration.tmp', opts, channel);
|
|
26
|
+
this.logger.info(`Queue ${queueName} migrated successfully.`);
|
|
27
|
+
channel.close();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.logger.info(`Queue ${queueName} already migrated.`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
migrateQueue(newQueue, fromQueue, opts = {}, channel) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
this.logger.info(`Migrating queue ${fromQueue} to ${newQueue} and opts ${JSON.stringify(opts)}...`);
|
|
36
|
+
yield this.assertQueue(newQueue, opts);
|
|
37
|
+
while (true) {
|
|
38
|
+
this.logger.info(`Fetching message from ${fromQueue}...`);
|
|
39
|
+
const message = yield channel.get(fromQueue, { noAck: false });
|
|
40
|
+
if (!message)
|
|
41
|
+
break;
|
|
42
|
+
this.logger.info(`Sending message to ${newQueue} ${message.content}, ${JSON.stringify(message.properties)}...`);
|
|
43
|
+
yield new Promise((resolve, reject) => channel.sendToQueue(newQueue, message.content, message.properties, (err, ok) => err ? reject(err) : resolve(ok)));
|
|
44
|
+
channel.ack(message);
|
|
45
|
+
}
|
|
46
|
+
const deleteResponse = yield channel.deleteQueue(fromQueue);
|
|
47
|
+
this.logger.info(`Queue ${fromQueue} deleted: ${deleteResponse.messageCount === 0}.`);
|
|
48
|
+
this.logger.info(`Queue ${fromQueue} migrated to ${newQueue}.`);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
assertQueue(queueName, opts) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const channel = yield this.connection.createChannel();
|
|
54
|
+
try {
|
|
55
|
+
channel.on('error', error => {
|
|
56
|
+
this.logger.warn(`Error asserting queue ${queueName}: ${error.message}...`);
|
|
57
|
+
});
|
|
58
|
+
yield new queue_1.default(channel, queueName, opts).created;
|
|
59
|
+
channel.close();
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Migrator = Migrator;
|
|
69
|
+
//# sourceMappingURL=migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../ts/migrator.ts"],"names":[],"mappings":"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"}
|
package/js/queue.js
CHANGED
|
@@ -36,7 +36,7 @@ class Queue {
|
|
|
36
36
|
}
|
|
37
37
|
create() {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const { exclusive, priority, durable, autoDelete, messageTtl, expires, deadLetterExchange, deadLetterRoutingKey, maxLength } = this.options;
|
|
39
|
+
const { exclusive, priority, durable, autoDelete, messageTtl, expires, deadLetterExchange, deadLetterRoutingKey, maxLength, } = this.options;
|
|
40
40
|
let queueOptions = {
|
|
41
41
|
exclusive,
|
|
42
42
|
durable,
|
|
@@ -45,10 +45,11 @@ class Queue {
|
|
|
45
45
|
expires,
|
|
46
46
|
deadLetterExchange,
|
|
47
47
|
deadLetterRoutingKey,
|
|
48
|
-
maxLength
|
|
48
|
+
maxLength,
|
|
49
|
+
arguments: Object.assign({}, this.options.arguments)
|
|
49
50
|
};
|
|
50
51
|
if (priority !== undefined) {
|
|
51
|
-
queueOptions.arguments = { 'x-max-priority': priority };
|
|
52
|
+
queueOptions.arguments = Object.assign(Object.assign({}, queueOptions.arguments), { 'x-max-priority': priority });
|
|
52
53
|
}
|
|
53
54
|
yield this.channel.assertQueue(this.name, queueOptions);
|
|
54
55
|
});
|
package/js/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../ts/queue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAG7B,+CAAyC;AACzC,2CAAuC;AACvC,mCAAkC;AAClC,mDAAyC;AACzC,qCAAiC;AAEjC,MAAM,MAAM,GAAG,gBAAS,CAAC,cAAc,CAAC,CAAC;AACzC,MAAqB,KAAK;IAexB,YAAmB,OAAgB,EAAS,IAAY,EAAE,OAAwD;QAA/F,YAAO,GAAP,OAAO,CAAS;QAAS,SAAI,GAAJ,IAAI,CAAQ;QATxD,mBAAc,GAAG;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK;SACb,CAAC;QAOA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAEK,MAAM;;YACV,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../ts/queue.ts"],"names":[],"mappings":"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"}
|
package/js/rabbit.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export default class Rabbit extends EventEmitter {
|
|
|
11
11
|
};
|
|
12
12
|
static STOP_STREAM: string;
|
|
13
13
|
static INSTANCE: Rabbit;
|
|
14
|
-
consumeConnection: amqp.
|
|
15
|
-
publishConnection: amqp.
|
|
14
|
+
consumeConnection: amqp.ChannelModel;
|
|
15
|
+
publishConnection: amqp.ChannelModel;
|
|
16
16
|
consumeChannel: Channel;
|
|
17
17
|
publishChannel: Channel;
|
|
18
18
|
connected: Promise<any>;
|
|
@@ -37,7 +37,7 @@ export default class Rabbit extends EventEmitter {
|
|
|
37
37
|
private connect;
|
|
38
38
|
reconnect(): Promise<void>;
|
|
39
39
|
private emitDisconnected;
|
|
40
|
-
createChannel(connection: amqp.
|
|
40
|
+
createChannel(connection: amqp.ChannelModel): Promise<amqp.ConfirmChannel>;
|
|
41
41
|
initChannel(channel: Channel, publish?: boolean): Promise<void>;
|
|
42
42
|
private updateName;
|
|
43
43
|
createQueue(name: string, options?: amqp.Options.AssertQueue & {
|
package/js/rabbit.js
CHANGED
|
@@ -54,7 +54,7 @@ class Rabbit extends events_1.EventEmitter {
|
|
|
54
54
|
reconnect() {
|
|
55
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
56
|
this.connected = this.connect();
|
|
57
|
-
yield this.connected.catch(
|
|
57
|
+
yield this.connected.catch(error => this.emitDisconnected(error));
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
emitDisconnected(error) {
|
|
@@ -63,15 +63,15 @@ class Rabbit extends events_1.EventEmitter {
|
|
|
63
63
|
}
|
|
64
64
|
createChannel(connection) {
|
|
65
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
connection.once('close',
|
|
67
|
-
connection.on('error',
|
|
66
|
+
connection.once('close', error => this.emitDisconnected(error));
|
|
67
|
+
connection.on('error', error => this.emitDisconnected(error));
|
|
68
68
|
return connection.createConfirmChannel();
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
initChannel(channel, publish = false) {
|
|
72
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
73
|
channel.prefetch(this.prefetch);
|
|
74
|
-
channel.on('close',
|
|
74
|
+
channel.on('close', error => this.emitDisconnected(error));
|
|
75
75
|
if (!publish && this.replyPattern) {
|
|
76
76
|
yield reply_queue_1.createReplyQueue(this.consumeChannel);
|
|
77
77
|
}
|
package/js/rabbit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbit.js","sourceRoot":"","sources":["../ts/rabbit.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,gCAAgC;AAChC,mCAAsC;AACtC,+CAAiD;AACjD,+CAAwE;AAExE,mCAA4B;AAC5B,yCAAkC;AAClC,iCAAiC;AACjC,qCAAiC;AAEjC,MAAqB,MAAO,SAAQ,qBAAY;IAmB9C,YACS,GAAW,EAClB,EAAE,QAAQ,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,gBAAgB,GAAG,KAAK,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,EAAE;QAErG,KAAK,EAAE,CAAC;QAHD,QAAG,GAAH,GAAG,CAAQ;QAVb,WAAM,GAA2B,EAAE,CAAC;QACpC,eAAU,GAAG,KAAK,CAAC;QAaxB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QACD,IAAI,CAAC,MAAM,GAAG,gBAAS,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEa,OAAO;;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5C,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;KAAA;IAEK,SAAS;;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"rabbit.js","sourceRoot":"","sources":["../ts/rabbit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rabbit-queue",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0",
|
|
4
4
|
"description": "AMQP/RabbitMQ queue management library.",
|
|
5
5
|
"main": "js/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc -p ts",
|
|
15
15
|
"watch": "tsc -w -p ts",
|
|
16
|
+
"prepublishOnly": "npm run build && npm run test-docker",
|
|
16
17
|
"pretest": "tslint --project ./ts/ && tslint ./test/**/*.ts && npm run build",
|
|
17
18
|
"test": "nyc mocha",
|
|
18
19
|
"test-docker": "docker-compose run rabbit-queue npm run test",
|
|
@@ -50,13 +51,13 @@
|
|
|
50
51
|
"node": ">=10.0.0"
|
|
51
52
|
},
|
|
52
53
|
"dependencies": {
|
|
53
|
-
"amqplib": "
|
|
54
|
+
"amqplib": ">=0.10.0",
|
|
54
55
|
"race-until": "~2.3.1",
|
|
55
56
|
"uuid": "~8.3.2"
|
|
56
57
|
},
|
|
57
58
|
"typings": "js/index",
|
|
58
59
|
"devDependencies": {
|
|
59
|
-
"@types/amqplib": "0.
|
|
60
|
+
"@types/amqplib": "^0.10.7",
|
|
60
61
|
"@types/mocha": "~9.0.0",
|
|
61
62
|
"@types/node": "~16.4.1",
|
|
62
63
|
"@types/should": "^13.0.0",
|
|
@@ -65,8 +66,9 @@
|
|
|
65
66
|
"@types/uuid": "~8.3.1",
|
|
66
67
|
"husky": "~7.0.1",
|
|
67
68
|
"lint-staged": "~11.1.0",
|
|
68
|
-
"mocha": "~9.
|
|
69
|
+
"mocha": "~9.2.2",
|
|
69
70
|
"nyc": "~15.1.0",
|
|
71
|
+
"prettier": "^3.5.3",
|
|
70
72
|
"should": "^13.2.3",
|
|
71
73
|
"sinon": "~11.1.1",
|
|
72
74
|
"source-map-support": "~0.5.19",
|