@nsshunt/stsappframework 3.0.9 → 3.0.11
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/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/publishertransports/publishTransportDirect.js +2 -42
- package/dist/publishertransports/publishTransportDirect.js.map +1 -1
- package/dist/publishertransports/publishTransportUtils.js +47 -0
- package/dist/publishertransports/publishTransportUtils.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/publishertransports/publishTransportDirect.ts +2 -52
- package/src/publishertransports/publishTransportUtils.ts +53 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/publishertransports/publishTransportDirect.d.ts.map +1 -1
- package/types/publishertransports/publishTransportUtils.d.ts +5 -0
- package/types/publishertransports/publishTransportUtils.d.ts.map +1 -0
package/dist/index.js
CHANGED
|
@@ -34,4 +34,5 @@ __exportStar(require("./influxdb/influxDBManager"), exports);
|
|
|
34
34
|
__exportStar(require("./influxdb/influxDBManagerBase"), exports);
|
|
35
35
|
__exportStar(require("./influxdb/influxDBManagerService"), exports);
|
|
36
36
|
__exportStar(require("./influxdb/influxDBManagerAgent"), exports);
|
|
37
|
+
__exportStar(require("./publishertransports/publishTransportUtils"), exports);
|
|
37
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,mDAAgC;AAChC,6CAA0B;AAC1B,kDAA+B;AAC/B,kDAA+B;AAC/B,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,yDAAsC;AACtC,yDAAsC;AACtC,oDAAiC;AACjC,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,6DAA0C;AAC1C,iEAA8C;AAC9C,oEAAiD;AACjD,kEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,mDAAgC;AAChC,6CAA0B;AAC1B,kDAA+B;AAC/B,kDAA+B;AAC/B,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,yDAAsC;AACtC,yDAAsC;AACtC,oDAAiC;AACjC,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,6DAA0C;AAC1C,iEAA8C;AAC9C,oEAAiD;AACjD,kEAA+C;AAC/C,8EAA2D"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.PublishTransportDirect = void 0;
|
|
5
5
|
const IMKafkaManager_1 = require("./../kafka/IMKafkaManager");
|
|
6
6
|
const influxDBManager_1 = require("./../influxdb/influxDBManager");
|
|
7
|
-
const
|
|
7
|
+
const publishTransportUtils_1 = require("./publishTransportUtils");
|
|
8
8
|
class PublishTransportDirect {
|
|
9
9
|
#influxDBManager;
|
|
10
10
|
#IMkafkaManager;
|
|
@@ -13,50 +13,10 @@ class PublishTransportDirect {
|
|
|
13
13
|
this.#IMkafkaManager = new IMKafkaManager_1.IMKafkaManager();
|
|
14
14
|
this.#IMkafkaManager.Start();
|
|
15
15
|
}
|
|
16
|
-
//@@ none of this should be required - all the data should be in the payload - check and delete if not ...
|
|
17
|
-
#GetContext(nid) {
|
|
18
|
-
// Return null if no context is required
|
|
19
|
-
//return null;
|
|
20
|
-
if (nid === stsutils_1.ModelDelimeter.ROOT) {
|
|
21
|
-
return { root: stsutils_1.ModelDelimeter.ROOT };
|
|
22
|
-
}
|
|
23
|
-
const context = { nid };
|
|
24
|
-
const idsplit = nid.split(stsutils_1.ModelDelimeter.SEPERATOR);
|
|
25
|
-
const serviceId = idsplit[0];
|
|
26
|
-
const serviceInstanceId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[0];
|
|
27
|
-
const serviceInstanceProcessId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[1];
|
|
28
|
-
const serviceIdSplit = serviceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
29
|
-
const serviceName = serviceIdSplit[0]; // Defined in .env or environment variable
|
|
30
|
-
const serviceVersion = serviceIdSplit[1]; // Defined in .env or environment variable
|
|
31
|
-
context.serviceId = serviceId; // Service name and the service version
|
|
32
|
-
if (typeof serviceInstanceId != 'undefined') {
|
|
33
|
-
const serviceInstanceIdSplit = serviceInstanceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
34
|
-
const sid = serviceInstanceIdSplit[0];
|
|
35
|
-
const hostName = serviceInstanceIdSplit[1];
|
|
36
|
-
context.serviceInstanceId = serviceInstanceId; // Service unique id and the host name
|
|
37
|
-
context.sid = sid; // Service unique id only, does not include host
|
|
38
|
-
context.hostName = hostName; // Service Instance Host Name
|
|
39
|
-
if (typeof serviceInstanceProcessId != 'undefined') {
|
|
40
|
-
const serviceInstanceProcessIdSplit = serviceInstanceProcessId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
41
|
-
const pid = parseInt(serviceInstanceProcessIdSplit[0]);
|
|
42
|
-
const ppid = parseInt(serviceInstanceProcessIdSplit[1]);
|
|
43
|
-
const isMaster = (pid === ppid ? true : false);
|
|
44
|
-
context.serviceInstanceProcessId = serviceInstanceProcessId; // Service Instance OS Process ID (parent process id)
|
|
45
|
-
context.pid = pid; // Service Instance OS Process ID (parent process id)
|
|
46
|
-
context.ppid = ppid; // Service Instance OS Parent Process ID if worker. Will be pid if parent process.
|
|
47
|
-
context.isMaster = isMaster; // True if is Master Process
|
|
48
|
-
context.isWorker = !isMaster; // True if is Worker Process
|
|
49
|
-
context.serviceName = serviceName; // Defined in .env or environment variable
|
|
50
|
-
context.serviceVersion = serviceVersion; // Defined in .env or environment variable
|
|
51
|
-
context.serviceInstanceId = serviceInstanceId; // unique service id with host
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return context;
|
|
55
|
-
}
|
|
56
16
|
// Returns true for success or false for failure.
|
|
57
17
|
Publish = async (payload) => {
|
|
58
18
|
try {
|
|
59
|
-
const updatedContext =
|
|
19
|
+
const updatedContext = publishTransportUtils_1.PublishTransportUtils.GetServiceContext(payload.context.nid);
|
|
60
20
|
payload.context = updatedContext;
|
|
61
21
|
//this.#SendIPCMessageToMaster(InstrumentManagerEventName.UPDATE_INSTRUMENT_DATA, instrumentPayload)
|
|
62
22
|
this.#influxDBManager.OutputInfluxDB(payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishTransportDirect.js","sourceRoot":"","sources":["../../src/publishertransports/publishTransportDirect.ts"],"names":[],"mappings":";AAAA,wFAAwF,CAAE,UAAU;;;AAMpG,8DAA0D;AAC1D,mEAA+D;
|
|
1
|
+
{"version":3,"file":"publishTransportDirect.js","sourceRoot":"","sources":["../../src/publishertransports/publishTransportDirect.ts"],"names":[],"mappings":";AAAA,wFAAwF,CAAE,UAAU;;;AAMpG,8DAA0D;AAC1D,mEAA+D;AAE/D,mEAA+D;AAE/D,MAAa,sBAAsB;IAE/B,gBAAgB,CAAkB;IAClC,eAAe,CAAiB;IAEhC;QAEI,IAAI,CAAC,gBAAgB,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,iDAAiD;IACjD,OAAO,GAAG,KAAK,EAAE,OAA2B,EAAoB,EAAE;QAE9D,IAAI;YACA,MAAM,cAAc,GAAG,6CAAqB,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpF,OAAO,CAAC,OAAO,GAAG,cAAqB,CAAC;YAExC,oGAAoG;YACpG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EACd;YACI,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,CAAA;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAjCD,wDAiCC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PublishTransportUtils = void 0;
|
|
4
|
+
const stsutils_1 = require("@nsshunt/stsutils");
|
|
5
|
+
class PublishTransportUtils {
|
|
6
|
+
static GetServiceContext(nid) {
|
|
7
|
+
// Return null if no context is required
|
|
8
|
+
//return null;
|
|
9
|
+
if (nid === stsutils_1.ModelDelimeter.ROOT) {
|
|
10
|
+
return { root: stsutils_1.ModelDelimeter.ROOT };
|
|
11
|
+
}
|
|
12
|
+
const context = { nid };
|
|
13
|
+
const idsplit = nid.split(stsutils_1.ModelDelimeter.SEPERATOR);
|
|
14
|
+
const serviceId = idsplit[0];
|
|
15
|
+
const serviceInstanceId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[0];
|
|
16
|
+
const serviceInstanceProcessId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[1];
|
|
17
|
+
const serviceIdSplit = serviceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
18
|
+
const serviceName = serviceIdSplit[0]; // Defined in .env or environment variable
|
|
19
|
+
const serviceVersion = serviceIdSplit[1]; // Defined in .env or environment variable
|
|
20
|
+
context.serviceId = serviceId; // Service name and the service version
|
|
21
|
+
if (typeof serviceInstanceId != 'undefined') {
|
|
22
|
+
const serviceInstanceIdSplit = serviceInstanceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
23
|
+
const sid = serviceInstanceIdSplit[0];
|
|
24
|
+
const hostName = serviceInstanceIdSplit[1];
|
|
25
|
+
context.serviceInstanceId = serviceInstanceId; // Service unique id and the host name
|
|
26
|
+
context.sid = sid; // Service unique id only, does not include host
|
|
27
|
+
context.hostName = hostName; // Service Instance Host Name
|
|
28
|
+
if (typeof serviceInstanceProcessId != 'undefined') {
|
|
29
|
+
const serviceInstanceProcessIdSplit = serviceInstanceProcessId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
30
|
+
const pid = parseInt(serviceInstanceProcessIdSplit[0]);
|
|
31
|
+
const ppid = parseInt(serviceInstanceProcessIdSplit[1]);
|
|
32
|
+
const isMaster = (pid === ppid ? true : false);
|
|
33
|
+
context.serviceInstanceProcessId = serviceInstanceProcessId; // Service Instance OS Process ID (parent process id)
|
|
34
|
+
context.pid = pid; // Service Instance OS Process ID (parent process id)
|
|
35
|
+
context.ppid = ppid; // Service Instance OS Parent Process ID if worker. Will be pid if parent process.
|
|
36
|
+
context.isMaster = isMaster; // True if is Master Process
|
|
37
|
+
context.isWorker = !isMaster; // True if is Worker Process
|
|
38
|
+
context.serviceName = serviceName; // Defined in .env or environment variable
|
|
39
|
+
context.serviceVersion = serviceVersion; // Defined in .env or environment variable
|
|
40
|
+
context.serviceInstanceId = serviceInstanceId; // unique service id with host
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return context;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.PublishTransportUtils = PublishTransportUtils;
|
|
47
|
+
//# sourceMappingURL=publishTransportUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishTransportUtils.js","sourceRoot":"","sources":["../../src/publishertransports/publishTransportUtils.ts"],"names":[],"mappings":";;;AACA,gDAAkD;AAElD,MAAa,qBAAqB;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,wCAAwC;QACxC,cAAc;QACd,IAAI,GAAG,KAAK,yBAAc,CAAC,IAAI,EAAE;YAC7B,OAAO,EAAE,IAAI,EAAE,yBAAc,CAAC,IAAI,EAAE,CAAC;SACxC;QACD,MAAM,OAAO,GAA0B,EAAE,GAAG,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAc,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAChF,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAEpF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,uCAAuC;QAEtE,IAAI,OAAO,iBAAiB,IAAI,WAAW,EAAE;YACzC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAE3C,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,sCAAsC;YACrF,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,gDAAgD;YACnE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,6BAA6B;YAE1D,IAAI,OAAO,wBAAwB,IAAI,WAAW,EAAE;gBAChD,MAAM,6BAA6B,GAAG,wBAAwB,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;gBACzG,MAAM,GAAG,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAE/C,OAAO,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,qDAAqD;gBAClH,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,qDAAqD;gBACxE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,kFAAkF;gBACvG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,4BAA4B;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,4BAA4B;gBAC1D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,0CAA0C;gBAC7E,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,0CAA0C;gBACnF,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,8BAA8B;aAChF;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAjDD,sDAiDC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
import { IPublisherTransport, IInstrumentPayload } from '@nsshunt/stspublisherserver'
|
|
7
7
|
import { IMKafkaManager } from './../kafka/IMKafkaManager'
|
|
8
8
|
import { InfluxDBManager } from './../influxdb/influxDBManager'
|
|
9
|
-
import { ServiceProcessContext } from './../commonTypes'
|
|
10
9
|
|
|
11
|
-
import {
|
|
10
|
+
import { PublishTransportUtils } from './publishTransportUtils'
|
|
12
11
|
|
|
13
12
|
export class PublishTransportDirect implements IPublisherTransport
|
|
14
13
|
{
|
|
@@ -21,61 +20,12 @@ export class PublishTransportDirect implements IPublisherTransport
|
|
|
21
20
|
this.#IMkafkaManager = new IMKafkaManager();
|
|
22
21
|
this.#IMkafkaManager.Start();
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
//@@ none of this should be required - all the data should be in the payload - check and delete if not ...
|
|
26
|
-
#GetContext(nid: string): ServiceProcessContext {
|
|
27
|
-
// Return null if no context is required
|
|
28
|
-
//return null;
|
|
29
|
-
if (nid === ModelDelimeter.ROOT) {
|
|
30
|
-
return { root: ModelDelimeter.ROOT };
|
|
31
|
-
}
|
|
32
|
-
const context: ServiceProcessContext = { nid };
|
|
33
|
-
const idsplit = nid.split(ModelDelimeter.SEPERATOR);
|
|
34
|
-
|
|
35
|
-
const serviceId = idsplit[0];
|
|
36
|
-
const serviceInstanceId = idsplit[1].split(ModelDelimeter.NID_SEPERATOR)[0];
|
|
37
|
-
const serviceInstanceProcessId = idsplit[1].split(ModelDelimeter.NID_SEPERATOR)[1];
|
|
38
|
-
|
|
39
|
-
const serviceIdSplit = serviceId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
40
|
-
const serviceName =serviceIdSplit[0]; // Defined in .env or environment variable
|
|
41
|
-
const serviceVersion = serviceIdSplit[1]; // Defined in .env or environment variable
|
|
42
|
-
|
|
43
|
-
context.serviceId = serviceId; // Service name and the service version
|
|
44
|
-
|
|
45
|
-
if (typeof serviceInstanceId != 'undefined') {
|
|
46
|
-
const serviceInstanceIdSplit = serviceInstanceId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
47
|
-
const sid = serviceInstanceIdSplit[0];
|
|
48
|
-
const hostName = serviceInstanceIdSplit[1];
|
|
49
|
-
|
|
50
|
-
context.serviceInstanceId = serviceInstanceId; // Service unique id and the host name
|
|
51
|
-
context.sid = sid; // Service unique id only, does not include host
|
|
52
|
-
context.hostName = hostName; // Service Instance Host Name
|
|
53
|
-
|
|
54
|
-
if (typeof serviceInstanceProcessId != 'undefined') {
|
|
55
|
-
const serviceInstanceProcessIdSplit = serviceInstanceProcessId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
56
|
-
const pid = parseInt(serviceInstanceProcessIdSplit[0]);
|
|
57
|
-
const ppid = parseInt(serviceInstanceProcessIdSplit[1]);
|
|
58
|
-
const isMaster = (pid === ppid ? true : false);
|
|
59
|
-
|
|
60
|
-
context.serviceInstanceProcessId = serviceInstanceProcessId; // Service Instance OS Process ID (parent process id)
|
|
61
|
-
context.pid = pid; // Service Instance OS Process ID (parent process id)
|
|
62
|
-
context.ppid = ppid; // Service Instance OS Parent Process ID if worker. Will be pid if parent process.
|
|
63
|
-
context.isMaster = isMaster; // True if is Master Process
|
|
64
|
-
context.isWorker = !isMaster; // True if is Worker Process
|
|
65
|
-
context.serviceName = serviceName; // Defined in .env or environment variable
|
|
66
|
-
context.serviceVersion = serviceVersion; // Defined in .env or environment variable
|
|
67
|
-
context.serviceInstanceId = serviceInstanceId; // unique service id with host
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return context;
|
|
72
|
-
}
|
|
73
23
|
|
|
74
24
|
// Returns true for success or false for failure.
|
|
75
25
|
Publish = async (payload: IInstrumentPayload): Promise<boolean> =>
|
|
76
26
|
{
|
|
77
27
|
try {
|
|
78
|
-
const updatedContext =
|
|
28
|
+
const updatedContext = PublishTransportUtils.GetServiceContext(payload.context.nid);
|
|
79
29
|
payload.context = updatedContext as any;
|
|
80
30
|
|
|
81
31
|
//this.#SendIPCMessageToMaster(InstrumentManagerEventName.UPDATE_INSTRUMENT_DATA, instrumentPayload)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ServiceProcessContext } from './../commonTypes'
|
|
2
|
+
import { ModelDelimeter } from '@nsshunt/stsutils'
|
|
3
|
+
|
|
4
|
+
export class PublishTransportUtils
|
|
5
|
+
{
|
|
6
|
+
static GetServiceContext(nid: string): ServiceProcessContext {
|
|
7
|
+
// Return null if no context is required
|
|
8
|
+
//return null;
|
|
9
|
+
if (nid === ModelDelimeter.ROOT) {
|
|
10
|
+
return { root: ModelDelimeter.ROOT };
|
|
11
|
+
}
|
|
12
|
+
const context: ServiceProcessContext = { nid };
|
|
13
|
+
const idsplit = nid.split(ModelDelimeter.SEPERATOR);
|
|
14
|
+
|
|
15
|
+
const serviceId = idsplit[0];
|
|
16
|
+
const serviceInstanceId = idsplit[1].split(ModelDelimeter.NID_SEPERATOR)[0];
|
|
17
|
+
const serviceInstanceProcessId = idsplit[1].split(ModelDelimeter.NID_SEPERATOR)[1];
|
|
18
|
+
|
|
19
|
+
const serviceIdSplit = serviceId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
20
|
+
const serviceName =serviceIdSplit[0]; // Defined in .env or environment variable
|
|
21
|
+
const serviceVersion = serviceIdSplit[1]; // Defined in .env or environment variable
|
|
22
|
+
|
|
23
|
+
context.serviceId = serviceId; // Service name and the service version
|
|
24
|
+
|
|
25
|
+
if (typeof serviceInstanceId != 'undefined') {
|
|
26
|
+
const serviceInstanceIdSplit = serviceInstanceId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
27
|
+
const sid = serviceInstanceIdSplit[0];
|
|
28
|
+
const hostName = serviceInstanceIdSplit[1];
|
|
29
|
+
|
|
30
|
+
context.serviceInstanceId = serviceInstanceId; // Service unique id and the host name
|
|
31
|
+
context.sid = sid; // Service unique id only, does not include host
|
|
32
|
+
context.hostName = hostName; // Service Instance Host Name
|
|
33
|
+
|
|
34
|
+
if (typeof serviceInstanceProcessId != 'undefined') {
|
|
35
|
+
const serviceInstanceProcessIdSplit = serviceInstanceProcessId.split(ModelDelimeter.COMPONENT_SEPERATOR);
|
|
36
|
+
const pid = parseInt(serviceInstanceProcessIdSplit[0]);
|
|
37
|
+
const ppid = parseInt(serviceInstanceProcessIdSplit[1]);
|
|
38
|
+
const isMaster = (pid === ppid ? true : false);
|
|
39
|
+
|
|
40
|
+
context.serviceInstanceProcessId = serviceInstanceProcessId; // Service Instance OS Process ID (parent process id)
|
|
41
|
+
context.pid = pid; // Service Instance OS Process ID (parent process id)
|
|
42
|
+
context.ppid = ppid; // Service Instance OS Parent Process ID if worker. Will be pid if parent process.
|
|
43
|
+
context.isMaster = isMaster; // True if is Master Process
|
|
44
|
+
context.isWorker = !isMaster; // True if is Worker Process
|
|
45
|
+
context.serviceName = serviceName; // Defined in .env or environment variable
|
|
46
|
+
context.serviceVersion = serviceVersion; // Defined in .env or environment variable
|
|
47
|
+
context.serviceInstanceId = serviceInstanceId; // unique service id with host
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return context;
|
|
52
|
+
}
|
|
53
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -18,4 +18,5 @@ export * from './influxdb/influxDBManager';
|
|
|
18
18
|
export * from './influxdb/influxDBManagerBase';
|
|
19
19
|
export * from './influxdb/influxDBManagerService';
|
|
20
20
|
export * from './influxdb/influxDBManagerAgent';
|
|
21
|
+
export * from './publishertransports/publishTransportUtils';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6CAA6C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishTransportDirect.d.ts","sourceRoot":"","sources":["../../src/publishertransports/publishTransportDirect.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"publishTransportDirect.d.ts","sourceRoot":"","sources":["../../src/publishertransports/publishTransportDirect.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAMrF,qBAAa,sBAAuB,YAAW,mBAAmB;;;IAa9D,OAAO,YAAmB,kBAAkB,KAAG,QAAQ,OAAO,CAAC,CAe9D;IAEK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishTransportUtils.d.ts","sourceRoot":"","sources":["../../src/publishertransports/publishTransportUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAGxD,qBAAa,qBAAqB;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB;CA+C/D"}
|