@nsshunt/stsappframework 3.0.119 → 3.0.120
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,22 @@ 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
|
+
let timeout = 1000; //@@ default
|
|
205
|
+
if (this.options) {
|
|
206
|
+
timeout = this.options.SubscriptionInterval;
|
|
207
|
+
}
|
|
208
|
+
this.#timeout = setTimeout(() => {
|
|
209
|
+
this.#ExecuteSubscriptions();
|
|
210
|
+
if (!this.#stop) {
|
|
211
|
+
this.#SetupTimeout();
|
|
212
|
+
}
|
|
213
|
+
}, timeout);
|
|
214
|
+
};
|
|
199
215
|
Subscribe(subscriptionKey, cb) {
|
|
200
|
-
if (this.#
|
|
201
|
-
|
|
202
|
-
this.#
|
|
216
|
+
if (this.#timeout) {
|
|
217
|
+
clearTimeout(this.#timeout);
|
|
218
|
+
this.#timeout = null;
|
|
203
219
|
}
|
|
204
220
|
if (this.#subscriptions[subscriptionKey.id]) {
|
|
205
221
|
// Subscription already exists - ignoring
|
|
@@ -214,16 +230,10 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
214
230
|
this.#SubscribeKafka(this.#subscriptions[subscriptionKey.id]);
|
|
215
231
|
}
|
|
216
232
|
this.#Log(chalk_1.default.grey(`InstrumentationSubscriber.Subscribe(): subscriptionKey.id: [${subscriptionKey.id}] successfully subscribed.`));
|
|
217
|
-
if (!this.#
|
|
233
|
+
if (!this.#timeout) {
|
|
218
234
|
// Output subscription immediately and then iterate ...
|
|
219
235
|
this.#ExecuteSubscriptions();
|
|
220
|
-
|
|
221
|
-
if (this.options) {
|
|
222
|
-
interval = this.options.SubscriptionInterval;
|
|
223
|
-
}
|
|
224
|
-
this.#interval = setInterval(() => {
|
|
225
|
-
this.#ExecuteSubscriptions();
|
|
226
|
-
}, interval);
|
|
236
|
+
this.#SetupTimeout();
|
|
227
237
|
}
|
|
228
238
|
}
|
|
229
239
|
}
|
|
@@ -237,9 +247,9 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
237
247
|
}
|
|
238
248
|
delete this.#subscriptions[subscriptionKey.id];
|
|
239
249
|
if (Object.keys(this.#subscriptions).length === 0) {
|
|
240
|
-
if (this.#
|
|
241
|
-
|
|
242
|
-
this.#
|
|
250
|
+
if (this.#timeout) {
|
|
251
|
+
clearTimeout(this.#timeout);
|
|
252
|
+
this.#timeout = null;
|
|
243
253
|
}
|
|
244
254
|
}
|
|
245
255
|
}
|
|
@@ -250,9 +260,11 @@ class InstrumentationSubscriber extends stsutils_1.STSOptionsBase {
|
|
|
250
260
|
}
|
|
251
261
|
}
|
|
252
262
|
async Start() {
|
|
263
|
+
this.#stop = false;
|
|
253
264
|
return this.#influxDBManager.Start();
|
|
254
265
|
}
|
|
255
266
|
async Stop() {
|
|
267
|
+
this.#stop = true;
|
|
256
268
|
this.#UnSubscribeAll();
|
|
257
269
|
return this.#influxDBManager.Terminate();
|
|
258
270
|
}
|
|
@@ -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,23 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
|
|
229
|
+
#SetupTimeout = () => {
|
|
230
|
+
let timeout = 1000; //@@ default
|
|
231
|
+
if (this.options) {
|
|
232
|
+
timeout = this.options.SubscriptionInterval
|
|
233
|
+
}
|
|
234
|
+
this.#timeout = setTimeout(() => {
|
|
235
|
+
this.#ExecuteSubscriptions();
|
|
236
|
+
if (!this.#stop) {
|
|
237
|
+
this.#SetupTimeout();
|
|
238
|
+
}
|
|
239
|
+
}, timeout);
|
|
240
|
+
}
|
|
241
|
+
|
|
225
242
|
Subscribe(subscriptionKey: ISubscriptionKey, cb: (payload: ISubscriptionPayload) => void) {
|
|
226
|
-
if (this.#
|
|
227
|
-
|
|
228
|
-
this.#
|
|
243
|
+
if (this.#timeout) {
|
|
244
|
+
clearTimeout(this.#timeout);
|
|
245
|
+
this.#timeout = null;
|
|
229
246
|
}
|
|
230
247
|
if (this.#subscriptions[subscriptionKey.id]) {
|
|
231
248
|
// Subscription already exists - ignoring
|
|
@@ -240,16 +257,10 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
240
257
|
}
|
|
241
258
|
this.#Log(chalk.grey(`InstrumentationSubscriber.Subscribe(): subscriptionKey.id: [${subscriptionKey.id}] successfully subscribed.`));
|
|
242
259
|
|
|
243
|
-
if (!this.#
|
|
260
|
+
if (!this.#timeout) {
|
|
244
261
|
// Output subscription immediately and then iterate ...
|
|
245
262
|
this.#ExecuteSubscriptions();
|
|
246
|
-
|
|
247
|
-
if (this.options) {
|
|
248
|
-
interval = this.options.SubscriptionInterval
|
|
249
|
-
}
|
|
250
|
-
this.#interval = setInterval(() => {
|
|
251
|
-
this.#ExecuteSubscriptions();
|
|
252
|
-
}, interval);
|
|
263
|
+
this.#SetupTimeout();
|
|
253
264
|
}
|
|
254
265
|
}
|
|
255
266
|
}
|
|
@@ -264,9 +275,9 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
264
275
|
delete this.#subscriptions[subscriptionKey.id];
|
|
265
276
|
|
|
266
277
|
if (Object.keys(this.#subscriptions).length === 0) {
|
|
267
|
-
if (this.#
|
|
268
|
-
|
|
269
|
-
this.#
|
|
278
|
+
if (this.#timeout) {
|
|
279
|
+
clearTimeout(this.#timeout);
|
|
280
|
+
this.#timeout = null;
|
|
270
281
|
}
|
|
271
282
|
}
|
|
272
283
|
}
|
|
@@ -279,10 +290,12 @@ export class InstrumentationSubscriber extends STSOptionsBase {
|
|
|
279
290
|
}
|
|
280
291
|
|
|
281
292
|
async Start() {
|
|
293
|
+
this.#stop = false;
|
|
282
294
|
return this.#influxDBManager.Start();
|
|
283
295
|
}
|
|
284
296
|
|
|
285
297
|
async Stop() {
|
|
298
|
+
this.#stop = true;
|
|
286
299
|
this.#UnSubscribeAll();
|
|
287
300
|
return this.#influxDBManager.Terminate();
|
|
288
301
|
}
|
|
@@ -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;IAiMtD,SAAS,CAAC,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IA0BxF,WAAW,CAAC,eAAe,EAAE,gBAAgB;IAwBvC,KAAK;IAKL,IAAI;CAKb"}
|