@golemio/core 1.2.8 → 1.2.9-dev.530956955
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.
|
@@ -3,11 +3,17 @@ import amqplib from "amqplib";
|
|
|
3
3
|
export declare class QueueProcessor {
|
|
4
4
|
protected channel: amqplib.Channel;
|
|
5
5
|
private definition;
|
|
6
|
+
private consumers;
|
|
7
|
+
private isGracefulShutdown;
|
|
6
8
|
constructor(channel: amqplib.Channel, definition: IQueueDefinition);
|
|
7
9
|
/**
|
|
8
10
|
* Registering all queues from definition
|
|
9
11
|
*/
|
|
10
12
|
registerQueues: () => Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Cancel all registered consumers before shutting down
|
|
15
|
+
*/
|
|
16
|
+
cancelConsumers: () => Promise<void>;
|
|
11
17
|
/**
|
|
12
18
|
* Default queue processor
|
|
13
19
|
*/
|
|
@@ -33,7 +33,7 @@ class QueueProcessor {
|
|
|
33
33
|
// default processor
|
|
34
34
|
yield this.defaultProcessor(msg, q.name, () => __awaiter(this, void 0, void 0, function* () {
|
|
35
35
|
if (!q.worker || !q.workerMethod) {
|
|
36
|
-
throw new errors_1.CustomError("[AMQP] Worker and worker method must be defined.", false, this.constructor.name, 5005);
|
|
36
|
+
throw new errors_1.CustomError("[AMQP QueueProcessor] Worker and worker method must be defined.", false, this.constructor.name, 5005);
|
|
37
37
|
}
|
|
38
38
|
const w = new q.worker();
|
|
39
39
|
yield (0, sentry_transactions_1.withSentryConsumerTrace)(w[q.workerMethod].bind(w))(msg);
|
|
@@ -43,12 +43,29 @@ class QueueProcessor {
|
|
|
43
43
|
});
|
|
44
44
|
yield Promise.all(promises);
|
|
45
45
|
});
|
|
46
|
+
/**
|
|
47
|
+
* Cancel all registered consumers before shutting down
|
|
48
|
+
*/
|
|
49
|
+
this.cancelConsumers = () => __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
helpers_1.log.info("[AMQP QueueProcessor] Expecting a shutdown. Cancelling all consumer operations");
|
|
51
|
+
this.isGracefulShutdown = true;
|
|
52
|
+
// Cancel all consumer operations
|
|
53
|
+
for (const consumerTag of this.consumers.values()) {
|
|
54
|
+
yield this.channel.cancel(consumerTag);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
46
57
|
/**
|
|
47
58
|
* Default queue processor
|
|
48
59
|
*/
|
|
49
60
|
this.defaultProcessor = (msg, name, worker) => __awaiter(this, void 0, void 0, function* () {
|
|
50
61
|
try {
|
|
51
62
|
helpers_1.log.verbose("[>] " + this.definition.queuePrefix + "." + name + ": received some data.");
|
|
63
|
+
// Expect to requeue the message before shutting down
|
|
64
|
+
if (this.isGracefulShutdown) {
|
|
65
|
+
this.channel.nack(msg, false, true);
|
|
66
|
+
helpers_1.log.verbose("[<] " + this.definition.queuePrefix + "." + name + ": requeued");
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
52
69
|
yield worker();
|
|
53
70
|
this.channel.ack(msg);
|
|
54
71
|
helpers_1.log.verbose("[<] " + this.definition.queuePrefix + "." + name + ": done");
|
|
@@ -83,10 +100,13 @@ class QueueProcessor {
|
|
|
83
100
|
yield this.channel.bindQueue(q.queue, config_1.config.RABBIT_EXCHANGE_NAME, key);
|
|
84
101
|
helpers_1.log.verbose("[*] Waiting for messages in " + name + ". {key " + key + "}");
|
|
85
102
|
// Listen and consume messages in queue
|
|
86
|
-
yield this.channel.consume(name, processor, { noAck: false });
|
|
103
|
+
const { consumerTag } = yield this.channel.consume(name, processor, { noAck: false });
|
|
104
|
+
this.consumers.add(consumerTag);
|
|
87
105
|
});
|
|
88
106
|
this.channel = channel;
|
|
89
107
|
this.definition = definition;
|
|
108
|
+
this.consumers = new Set();
|
|
109
|
+
this.isGracefulShutdown = false;
|
|
90
110
|
}
|
|
91
111
|
}
|
|
92
112
|
exports.QueueProcessor = QueueProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueProcessor.js","sourceRoot":"","sources":["../../../src/integration-engine/queueprocessors/QueueProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uHAA0F;AAC1F,sCAAoC;AACpC,wCAAuF;AAEvF,qFAAiF;AACjF,4CAA8C;AAG9C,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"QueueProcessor.js","sourceRoot":"","sources":["../../../src/integration-engine/queueprocessors/QueueProcessor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,135 +1,135 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
2
|
+
"name": "@golemio/core",
|
|
3
|
+
"version": "1.2.9-dev.530956955",
|
|
4
|
+
"description": "Golemio Core Module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"golemio-import-test-data": "bin/import-test-data.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "rimraf ./dist && ttsc -p ./tsconfig.build.json",
|
|
12
|
+
"build-minimal": "run-s 'build --sourceMap false --declaration false'",
|
|
13
|
+
"build-watch": "run-s 'build --watch --preserveWatchOutput'",
|
|
14
|
+
"test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r dotenv/config 'test/**/*.test.ts'",
|
|
15
|
+
"test-debug": "run-s 'test --inspect-brk=9230'",
|
|
16
|
+
"code-coverage": "nyc run-s 'test -r source-map-support/register'",
|
|
17
|
+
"generate-docs": "typedoc --out docs/typedoc src",
|
|
18
|
+
"lint": "eslint \"{src,test}/**/*.ts\""
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"golemio"
|
|
22
|
+
],
|
|
23
|
+
"author": "Operator ICT, a.s.",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://gitlab.com/operator-ict/golemio/code/modules/core"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@commitlint/cli": "^16.2.1",
|
|
31
|
+
"@commitlint/config-conventional": "^16.2.1",
|
|
32
|
+
"@golemio/eslint-config": "^1.1.0",
|
|
33
|
+
"@types/amqplib": "^0.5.17",
|
|
34
|
+
"@types/apicache": "^1.2.3",
|
|
35
|
+
"@types/chai": "4.2.3",
|
|
36
|
+
"@types/chai-as-promised": "7.1.2",
|
|
37
|
+
"@types/content-type": "^1.1.3",
|
|
38
|
+
"@types/debug": "0.0.31",
|
|
39
|
+
"@types/decompress": "^4.2.3",
|
|
40
|
+
"@types/ioredis": "^4.17.10",
|
|
41
|
+
"@types/lodash": "^4.14.165",
|
|
42
|
+
"@types/mocha": "^8.2.0",
|
|
43
|
+
"@types/morgan": "^1.9.2",
|
|
44
|
+
"@types/node": "^14.14.20",
|
|
45
|
+
"@types/redis": "^2.8.28",
|
|
46
|
+
"@types/sinon": "7.0.13",
|
|
47
|
+
"@types/ssh2-sftp-client": "^5.3.1",
|
|
48
|
+
"@types/supertest": "^2.0.11",
|
|
49
|
+
"@zerollup/ts-transform-paths": "^1.7.18",
|
|
50
|
+
"chai": "4.2.0",
|
|
51
|
+
"chai-as-promised": "7.1.1",
|
|
52
|
+
"cross-env": "^7.0.3",
|
|
53
|
+
"eslint": "^8.1.1",
|
|
54
|
+
"husky": "^4.3.7",
|
|
55
|
+
"mocha": "^9.1.2",
|
|
56
|
+
"nock": "^13.0.5",
|
|
57
|
+
"npm-run-all": "^4.1.5",
|
|
58
|
+
"nyc": "^15.1.0",
|
|
59
|
+
"prettier": "^2.5.1",
|
|
60
|
+
"pretty-quick": "^3.1.0",
|
|
61
|
+
"rimraf": "^3.0.2",
|
|
62
|
+
"sinon": "7.1.1",
|
|
63
|
+
"source-map-support": "0.5.9",
|
|
64
|
+
"supertest": "^6.1.6",
|
|
65
|
+
"ts-node": "^9.1.1",
|
|
66
|
+
"ttypescript": "^1.5.13",
|
|
67
|
+
"typedoc": "^0.21.4",
|
|
68
|
+
"typescript": "4.4.4"
|
|
69
|
+
},
|
|
70
|
+
"dependencies": {
|
|
71
|
+
"@golemio/errors": "^1.0.1",
|
|
72
|
+
"@golemio/utils": "^1.0.0",
|
|
73
|
+
"@golemio/validator": "0.2.2",
|
|
74
|
+
"@google-cloud/storage": "^5.18.0",
|
|
75
|
+
"@opentelemetry/api": "^1.0.2",
|
|
76
|
+
"@opentelemetry/exporter-jaeger": "^0.24.0",
|
|
77
|
+
"@opentelemetry/instrumentation-express": "^0.24.0",
|
|
78
|
+
"@opentelemetry/instrumentation-http": "^0.24.0",
|
|
79
|
+
"@opentelemetry/instrumentation-ioredis": "^0.24.0",
|
|
80
|
+
"@opentelemetry/instrumentation-redis": "^0.24.0",
|
|
81
|
+
"@opentelemetry/node": "^0.24.0",
|
|
82
|
+
"@opentelemetry/resources": "^0.24.0",
|
|
83
|
+
"@opentelemetry/tracing": "^0.24.0",
|
|
84
|
+
"@sentry/node": "^6.11.0",
|
|
85
|
+
"@sentry/tracing": "^6.11.0",
|
|
86
|
+
"@types/express": "^4.16.0",
|
|
87
|
+
"@types/luxon": "^2.3.1",
|
|
88
|
+
"@types/request-promise": "^4.1.45",
|
|
89
|
+
"ajv": "^8.10.0",
|
|
90
|
+
"amqplib": "^0.7.1",
|
|
91
|
+
"apicache": "^1.6.3",
|
|
92
|
+
"aws-sdk": "^2.823.0",
|
|
93
|
+
"axios": "^0.24.0",
|
|
94
|
+
"basic-ftp": "^4.6.6",
|
|
95
|
+
"content-type": "^1.0.4",
|
|
96
|
+
"debug": "3.1.0",
|
|
97
|
+
"decompress": "^4.2.1",
|
|
98
|
+
"dotenv": "^8.2.0",
|
|
99
|
+
"express": "^4.16.4",
|
|
100
|
+
"express-validator": "^5.3.1",
|
|
101
|
+
"fast-csv": "^4.3.6",
|
|
102
|
+
"fast-glob": "^3.2.5",
|
|
103
|
+
"iconv-lite": "^0.6.2",
|
|
104
|
+
"ioredis": "^4.19.4",
|
|
105
|
+
"lightship": "^6.7.2",
|
|
106
|
+
"lodash": "^4.17.21",
|
|
107
|
+
"luxon": "^2.3.2",
|
|
108
|
+
"moment-timezone": "^0.5.26",
|
|
109
|
+
"mongodb-restore-dump": "1.0.1",
|
|
110
|
+
"mongoose": "^5.3.6",
|
|
111
|
+
"morgan": "^1.10.0",
|
|
112
|
+
"opentelemetry-instrumentation-amqplib": "^0.24.0",
|
|
113
|
+
"opentelemetry-instrumentation-aws-sdk": "^0.24.1",
|
|
114
|
+
"opentelemetry-instrumentation-mongoose": "^0.24.0",
|
|
115
|
+
"opentelemetry-instrumentation-sequelize": "^0.24.0",
|
|
116
|
+
"path-to-regexp": "^6.2.0",
|
|
117
|
+
"pg": "^8.6.0",
|
|
118
|
+
"prom-client": "^14.0.0",
|
|
119
|
+
"redis": "^3.1.1",
|
|
120
|
+
"request": "2.88.0",
|
|
121
|
+
"request-promise": "^4.2.5",
|
|
122
|
+
"sequelize": "^6.6.5",
|
|
123
|
+
"ssh2-sftp-client": "^7.1.0",
|
|
124
|
+
"winston": "^3.3.3",
|
|
125
|
+
"xml2js-es6-promise": "^1.1.1"
|
|
126
|
+
},
|
|
127
|
+
"resolutions": {
|
|
128
|
+
"mpath": "^0.8.4",
|
|
129
|
+
"url-parse": "^1.5.6",
|
|
130
|
+
"minimist": "^1.2.6",
|
|
131
|
+
"moment": "^2.29.2",
|
|
132
|
+
"@google-cloud/storage/**/node-forge": "^1.3.0",
|
|
133
|
+
"**/axios/follow-redirects": "^1.14.7"
|
|
134
|
+
}
|
|
135
135
|
}
|