@nsshunt/stsappframework 3.0.119 → 3.0.121
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.
|
@@ -14,12 +14,16 @@ const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
|
14
14
|
const stsutils_1 = require("@nsshunt/stsutils");
|
|
15
15
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
16
|
const goptions = (0, stsconfig_1.$Options)();
|
|
17
|
+
/**
|
|
18
|
+
* Maintain list of instrumentation subscriptions.
|
|
19
|
+
*/
|
|
17
20
|
class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
18
21
|
#subscriptions = {};
|
|
19
22
|
#influxDBManager;
|
|
20
|
-
#
|
|
23
|
+
#timeout = null;
|
|
21
24
|
#km;
|
|
22
25
|
#logger = null;
|
|
26
|
+
#stop = true;
|
|
23
27
|
constructor(options) {
|
|
24
28
|
super(options);
|
|
25
29
|
if (options.logger) {
|
|
@@ -196,10 +200,25 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
196
200
|
this.#Log(chalk_1.default.red(`InstrumentationSubscriber:#ExecuteSubscriptions(): Error: [${error}], [${JSON.stringify(retVal)}]`));
|
|
197
201
|
}
|
|
198
202
|
};
|
|
203
|
+
#SetupTimeout = () => {
|
|
204
|
+
if (!this.#timeout) {
|
|
205
|
+
let timeout = 1000; //@@ default
|
|
206
|
+
if (this.options) {
|
|
207
|
+
timeout = this.options.SubscriptionInterval;
|
|
208
|
+
}
|
|
209
|
+
this.#timeout = setTimeout(async () => {
|
|
210
|
+
await this.#ExecuteSubscriptions();
|
|
211
|
+
this.#timeout = null;
|
|
212
|
+
if (!this.#stop) {
|
|
213
|
+
this.#SetupTimeout();
|
|
214
|
+
}
|
|
215
|
+
}, timeout);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
199
218
|
Subscribe(subscriptionKey, cb) {
|
|
200
|
-
if (this.#
|
|
201
|
-
|
|
202
|
-
this.#
|
|
219
|
+
if (this.#timeout) {
|
|
220
|
+
clearTimeout(this.#timeout);
|
|
221
|
+
this.#timeout = null;
|
|
203
222
|
}
|
|
204
223
|
if (this.#subscriptions[subscriptionKey.id]) {
|
|
205
224
|
// Subscription already exists - ignoring
|
|
@@ -214,16 +233,12 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
214
233
|
this.#SubscribeKafka(this.#subscriptions[subscriptionKey.id]);
|
|
215
234
|
}
|
|
216
235
|
this.#Log(chalk_1.default.grey(`InstrumentationSubscriber.Subscribe(): subscriptionKey.id: [${subscriptionKey.id}] successfully subscribed.`));
|
|
217
|
-
if (!this.#
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
this.#interval = setInterval(() => {
|
|
225
|
-
this.#ExecuteSubscriptions();
|
|
226
|
-
}, interval);
|
|
236
|
+
if (!this.#timeout) {
|
|
237
|
+
(async () => {
|
|
238
|
+
// Output subscription immediately and then iterate ...
|
|
239
|
+
await this.#ExecuteSubscriptions();
|
|
240
|
+
this.#SetupTimeout();
|
|
241
|
+
})();
|
|
227
242
|
}
|
|
228
243
|
}
|
|
229
244
|
}
|
|
@@ -237,9 +252,9 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
237
252
|
}
|
|
238
253
|
delete this.#subscriptions[subscriptionKey.id];
|
|
239
254
|
if (Object.keys(this.#subscriptions).length === 0) {
|
|
240
|
-
if (this.#
|
|
241
|
-
|
|
242
|
-
this.#
|
|
255
|
+
if (this.#timeout) {
|
|
256
|
+
clearTimeout(this.#timeout);
|
|
257
|
+
this.#timeout = null;
|
|
243
258
|
}
|
|
244
259
|
}
|
|
245
260
|
}
|
|
@@ -250,9 +265,11 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
250
265
|
}
|
|
251
266
|
}
|
|
252
267
|
async Start() {
|
|
268
|
+
this.#stop = false;
|
|
253
269
|
return this.#influxDBManager.Start();
|
|
254
270
|
}
|
|
255
271
|
async Stop() {
|
|
272
|
+
this.#stop = true;
|
|
256
273
|
this.#UnSubscribeAll();
|
|
257
274
|
return this.#influxDBManager.Terminate();
|
|
258
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentationsubscriber.js","sourceRoot":"","sources":["../src/instrumentationsubscriber.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+B;AAC/B,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAGjD,oEAAmH;AAEnH,uDAAwE;AACxE,gEAA4D;AAC5D,+BAAoC;AAEpC,kDAA6C;AAC7C,gDAAmD;AAEnD,kDAA0B;AAE1B,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAsB3B,MAAa,yBAA0B,SAAQ,yBAAc;IACzD,cAAc,GAAmB,EAAG,CAAC;IACrC,gBAAgB,CAAkB;IAClC,
|
|
1
|
+
{"version":3,"file":"instrumentationsubscriber.js","sourceRoot":"","sources":["../src/instrumentationsubscriber.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -35,12 +35,16 @@ export interface IInstrumentationSubscriberOptions {
|
|
|
35
35
|
logger?: logFunction
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Maintain list of instrumentation subscriptions.
|
|
40
|
+
*/
|
|
38
41
|
export class InstrumentationSubscriber extends STSOptionsBase {
|
|
39
42
|
#subscriptions: ISubscriptions = { };
|
|
40
43
|
#influxDBManager: InfluxDBManager;
|
|
41
|
-
#
|
|
44
|
+
#timeout: NodeJS.Timer | null = null;
|
|
42
45
|
#km: KafkaManager;
|
|
43
46
|
#logger: logFunction | null = null;
|
|
47
|
+
#stop: boolean = true;
|
|
44
48
|
|
|
45
49
|
constructor(options: IInstrumentationSubscriberOptions) {
|
|
46
50
|
super(options);
|
|
@@ -222,10 +226,26 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
|
|
229
|
+
#SetupTimeout = () => {
|
|
230
|
+
if (!this.#timeout) {
|
|
231
|
+
let timeout = 1000; //@@ default
|
|
232
|
+
if (this.options) {
|
|
233
|
+
timeout = this.options.SubscriptionInterval
|
|
234
|
+
}
|
|
235
|
+
this.#timeout = setTimeout(async () => {
|
|
236
|
+
await this.#ExecuteSubscriptions();
|
|
237
|
+
this.#timeout = null;
|
|
238
|
+
if (!this.#stop) {
|
|
239
|
+
this.#SetupTimeout();
|
|
240
|
+
}
|
|
241
|
+
}, timeout);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
225
245
|
Subscribe(subscriptionKey: ISubscriptionKey, cb: (payload: ISubscriptionPayload) => void) {
|
|
226
|
-
if (this.#
|
|
227
|
-
|
|
228
|
-
this.#
|
|
246
|
+
if (this.#timeout) {
|
|
247
|
+
clearTimeout(this.#timeout);
|
|
248
|
+
this.#timeout = null;
|
|
229
249
|
}
|
|
230
250
|
if (this.#subscriptions[subscriptionKey.id]) {
|
|
231
251
|
// Subscription already exists - ignoring
|
|
@@ -240,16 +260,12 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
240
260
|
}
|
|
241
261
|
this.#Log(chalk.grey(`InstrumentationSubscriber.Subscribe(): subscriptionKey.id: [${subscriptionKey.id}] successfully subscribed.`));
|
|
242
262
|
|
|
243
|
-
if (!this.#
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
250
|
-
this.#interval = setInterval(() => {
|
|
251
|
-
this.#ExecuteSubscriptions();
|
|
252
|
-
}, interval);
|
|
263
|
+
if (!this.#timeout) {
|
|
264
|
+
(async () => {
|
|
265
|
+
// Output subscription immediately and then iterate ...
|
|
266
|
+
await this.#ExecuteSubscriptions();
|
|
267
|
+
this.#SetupTimeout();
|
|
268
|
+
})();
|
|
253
269
|
}
|
|
254
270
|
}
|
|
255
271
|
}
|
|
@@ -264,9 +280,9 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
264
280
|
delete this.#subscriptions[subscriptionKey.id];
|
|
265
281
|
|
|
266
282
|
if (Object.keys(this.#subscriptions).length === 0) {
|
|
267
|
-
if (this.#
|
|
268
|
-
|
|
269
|
-
this.#
|
|
283
|
+
if (this.#timeout) {
|
|
284
|
+
clearTimeout(this.#timeout);
|
|
285
|
+
this.#timeout = null;
|
|
270
286
|
}
|
|
271
287
|
}
|
|
272
288
|
}
|
|
@@ -279,10 +295,12 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
279
295
|
}
|
|
280
296
|
|
|
281
297
|
async Start() {
|
|
298
|
+
this.#stop = false;
|
|
282
299
|
return this.#influxDBManager.Start();
|
|
283
300
|
}
|
|
284
301
|
|
|
285
302
|
async Stop() {
|
|
303
|
+
this.#stop = true;
|
|
286
304
|
this.#UnSubscribeAll();
|
|
287
305
|
return this.#influxDBManager.Terminate();
|
|
288
306
|
}
|
|
@@ -5,6 +5,9 @@ export interface IInstrumentationSubscriberOptions {
|
|
|
5
5
|
SubscriptionInterval: number;
|
|
6
6
|
logger?: logFunction;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Maintain list of instrumentation subscriptions.
|
|
10
|
+
*/
|
|
8
11
|
export declare class InstrumentationSubscriber extends STSOptionsBase {
|
|
9
12
|
#private;
|
|
10
13
|
constructor(options: IInstrumentationSubscriberOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentationsubscriber.d.ts","sourceRoot":"","sources":["../src/instrumentationsubscriber.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAiC,MAAM,6BAA6B,CAAA;AAOnH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqBnD,MAAM,WAAW,iCAAiC;IAC9C,oBAAoB,EAAE,MAAM,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,yBAA0B,SAAQ,cAAc;;
|
|
1
|
+
{"version":3,"file":"instrumentationsubscriber.d.ts","sourceRoot":"","sources":["../src/instrumentationsubscriber.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAiC,MAAM,6BAA6B,CAAA;AAOnH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqBnD,MAAM,WAAW,iCAAiC;IAC9C,oBAAoB,EAAE,MAAM,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAc;;gBAQ7C,OAAO,EAAE,iCAAiC;IAoMtD,SAAS,CAAC,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IA4BxF,WAAW,CAAC,eAAe,EAAE,gBAAgB;IAwBvC,KAAK;IAKL,IAAI;CAKb"}
|