rabbit-queue 5.6.0 → 5.7.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 +11 -12
- package/docker-compose.yml +4 -2
- package/js/base-queue-handler.d.ts +1 -0
- package/js/base-queue-handler.js +9 -1
- package/js/base-queue-handler.js.map +1 -1
- package/js/index.d.ts +1 -0
- package/js/index.js +3 -1
- package/js/index.js.map +1 -1
- package/package.json +1 -1
- package/js/migrate.d.ts +0 -11
- package/js/migrate.js +0 -63
- package/js/migrate.js.map +0 -1
package/README.md
CHANGED
|
@@ -215,9 +215,19 @@ It also emits events for each log so that you can use your own logger
|
|
|
215
215
|
eg:
|
|
216
216
|
|
|
217
217
|
```javascript
|
|
218
|
+
const rabbit = new Rabbit(process.env.RABBIT_URL || 'amqp://localhost');
|
|
218
219
|
rabbit.on('log', (component, level, ...args) => console.log(`[${level}] ${component}`, ...args));
|
|
219
220
|
```
|
|
220
|
-
|
|
221
|
+
|
|
222
|
+
### Migrating Queues
|
|
223
|
+
|
|
224
|
+
Rabbit-queue supports migrating queues from one configuration to another.
|
|
225
|
+
RabbitMQ will fail and close the channel if you try to create a queue with the same name but different configuration.
|
|
226
|
+
To migrate a queue, you can use the `migrateQueue` option.
|
|
227
|
+
|
|
228
|
+
```javascript
|
|
229
|
+
const rabbit = new Rabbit(process.env.RABBIT_URL || 'amqp://localhost');
|
|
230
|
+
|
|
221
231
|
class DemoHandler extends BaseQueueHandler {
|
|
222
232
|
handle({ msg, event, correlationId, startTime }) {
|
|
223
233
|
console.log('Received: ', event);
|
|
@@ -240,17 +250,6 @@ new DemoHandler('demoQueue', rabbit, {
|
|
|
240
250
|
rabbit.publish('demoQueue', { test: 'data' }, { correlationId: '4' });
|
|
241
251
|
```
|
|
242
252
|
|
|
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
|
-
|
|
253
|
-
|
|
254
253
|
### Changelog
|
|
255
254
|
|
|
256
255
|
### New in v5.4.x
|
package/docker-compose.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
version:
|
|
1
|
+
version: '2.2'
|
|
2
2
|
services:
|
|
3
3
|
rabbit-queue:
|
|
4
|
-
image: node:
|
|
4
|
+
image: node:14
|
|
5
5
|
working_dir: /code
|
|
6
6
|
volumes:
|
|
7
7
|
- .:/code
|
|
@@ -11,3 +11,5 @@ services:
|
|
|
11
11
|
RABBIT_URL: 'amqp://rabbit'
|
|
12
12
|
rabbit:
|
|
13
13
|
image: rabbitmq
|
|
14
|
+
ports:
|
|
15
|
+
- '5672:5672'
|
|
@@ -39,6 +39,7 @@ declare abstract class BaseQueueHandler {
|
|
|
39
39
|
createQueues(): Promise<void>;
|
|
40
40
|
tryHandle(retries: any, msg: amqp.Message, ack: (error: any, reply: any) => any): Promise<void>;
|
|
41
41
|
handleError(err: any, msg: any): void;
|
|
42
|
+
logError(err: any): void;
|
|
42
43
|
getTime(): number;
|
|
43
44
|
logTime(startTime: number, correlationId: string): void;
|
|
44
45
|
setTimeout(time: any): Promise<unknown>;
|
package/js/base-queue-handler.js
CHANGED
|
@@ -100,7 +100,7 @@ class BaseQueueHandler {
|
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
102
|
handleError(err, msg) {
|
|
103
|
-
this.
|
|
103
|
+
this.logError(err);
|
|
104
104
|
if (msg.properties.headers === undefined) {
|
|
105
105
|
msg.properties.headers = {};
|
|
106
106
|
}
|
|
@@ -111,6 +111,14 @@ class BaseQueueHandler {
|
|
|
111
111
|
time: new Date().toString()
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
+
logError(err) {
|
|
115
|
+
if (err === null || err === void 0 ? void 0 : err.logAsWarning) {
|
|
116
|
+
this.logger.warn(err);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.logger.error(err);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
114
122
|
getTime() {
|
|
115
123
|
return new Date().getTime();
|
|
116
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-queue-handler.js","sourceRoot":"","sources":["../ts/base-queue-handler.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,mDAAyC;AAEzC,qCAAiC;AACjC,yCAAsC;AAEtC,MAAe,gBAAgB;IAmB7B,YACS,SAAiB,EACjB,MAAc,EACrB,EACE,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,IAAI,EACjB,KAAK,GAA8B,gBAAgB,CAAC,MAAM,CAAC,SAAS,EACpE,yBAAyB,GAAG,IAAI,EAChC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAC1B,YAAY,GAAG,KAAK,EACpB,OAAO,GAAG,EAA8B,KACtC,EAAE;QAXC,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QAYrB,MAAM,MAAM,GAAG,gBAAS,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,yBAAyB,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACpC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,gBAAgB,CAAC,GAAiB,EAAE,MAAY;QAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAA6B,SAAiB,EAAE,MAAc,EAAE,OAAO,GAAG,EAAE;QACjG,MAAM,WAAW,GAAQ,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,kCAAO,OAAO,KAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,IAAG,CAAC;QAC9G,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEK,YAAY;;YAChB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC5B,MAAM,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;aAC3G;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM;iBAC3B,WAAW,CAAC,IAAI,CAAC,SAAS,kCAAO,IAAI,CAAC,eAAe,EAAE,KAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAChG,IAAI,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE;oBACpD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9D;qBAAM;oBACL,MAAM,QAAQ,GAAG,IAAU,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;wBACxE,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,yBAAyB,EAAE,KAAK;qBACjC,CAAC,CAAC;oBACH,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClE;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAE5C,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;aACvG;YAED,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM;iBACzB,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;iBAC/C,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,SAAS,CAAC,OAAO,EAAE,GAAiB,EAAE,GAA0B;;YACpE,IAAI;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,sBAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,MAAM,OAAO,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAEtF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,MAAM,OAAO,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACzF,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBACxC;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACxE;QACH,CAAC;KAAA;IAED,WAAW,CAAC,GAAG,EAAE,GAAG;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEnB,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE;YACxC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7B;QAED,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;YAClD,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5C,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,GAAG;QACV,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,aAAqB;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,2BAA2B,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACvG,CAAC;IAED,UAAU,CAAC,IAAI;QACb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;;YAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC7C;iBAAM;gBACL,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACxC;QACH,CAAC;KAAA;IAID,QAAQ,CAAC,IAAuC;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IAEK,QAAQ,CAAC,OAAO,EAAE,GAAiB,EAAE,GAAG;;YAC5C,IAAI;gBACF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,sBAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,oBAAoB,IAAI,CAAC,OAAO,UAAU,OAAO,UAAU,CAAC,CAAC;gBAC/F,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACtD;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChF,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;KAAA;;AA/KM,uBAAM,GAAuD;IAClE,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AA+KJ,kBAAe,gBAAgB,CAAC"}
|
package/js/index.d.ts
CHANGED
package/js/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseQueueHandler = exports.Rabbit = void 0;
|
|
3
|
+
exports.Migrator = exports.BaseQueueHandler = exports.Rabbit = void 0;
|
|
4
4
|
var rabbit_1 = require("./rabbit");
|
|
5
5
|
Object.defineProperty(exports, "Rabbit", { enumerable: true, get: function () { return rabbit_1.default; } });
|
|
6
6
|
var base_queue_handler_1 = require("./base-queue-handler");
|
|
7
7
|
Object.defineProperty(exports, "BaseQueueHandler", { enumerable: true, get: function () { return base_queue_handler_1.default; } });
|
|
8
|
+
var migrator_1 = require("./migrator");
|
|
9
|
+
Object.defineProperty(exports, "Migrator", { enumerable: true, get: function () { return migrator_1.Migrator; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,gGAAA,OAAO,OAAU;AAC1B,2DAAmE;AAA1D,sHAAA,OAAO,OAAoB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,gGAAA,OAAO,OAAU;AAC1B,2DAAmE;AAA1D,sHAAA,OAAO,OAAoB;AACpC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
package/package.json
CHANGED
package/js/migrate.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,63 +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.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
|
package/js/migrate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|