verteilen-core 1.2.0 → 1.2.2
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/src/client/analysis.js +3 -3
- package/dist/src/client/execute.js +13 -13
- package/dist/src/client/job_execute.js +2 -2
- package/dist/src/interface/enum.js +8 -1
- package/package.json +1 -1
- package/src/client/analysis.ts +3 -3
- package/src/client/database.ts +5 -5
- package/src/client/execute.ts +17 -17
- package/src/client/job_database.ts +1 -1
- package/src/client/job_execute.ts +4 -4
- package/src/interface/enum.ts +11 -1
- package/src/interface/ui.ts +6 -0
|
@@ -61,7 +61,7 @@ class ClientAnalysis {
|
|
|
61
61
|
'execute_job': this.execute_job,
|
|
62
62
|
'release': this.release,
|
|
63
63
|
'stop_job': this.stop_all,
|
|
64
|
-
'
|
|
64
|
+
'set_database': this.set_database,
|
|
65
65
|
'set_libs': this.set_libs,
|
|
66
66
|
'shell_folder': this.shell.shell_folder,
|
|
67
67
|
'open_shell': this.shell.open_shell,
|
|
@@ -109,11 +109,11 @@ class ClientAnalysis {
|
|
|
109
109
|
return;
|
|
110
110
|
this.exec.splice(index, 1);
|
|
111
111
|
};
|
|
112
|
-
this.
|
|
112
|
+
this.set_database = (data, source, channel) => {
|
|
113
113
|
if (channel == undefined)
|
|
114
114
|
return;
|
|
115
115
|
const target = this.exec_checker(channel);
|
|
116
|
-
target.
|
|
116
|
+
target.set_database(data);
|
|
117
117
|
};
|
|
118
118
|
this.set_libs = (data, source, channel) => {
|
|
119
119
|
if (channel == undefined)
|
|
@@ -12,7 +12,7 @@ class ClientExecute {
|
|
|
12
12
|
return this.workers.length;
|
|
13
13
|
}
|
|
14
14
|
constructor(_uuid, _messager, _messager_log, _client) {
|
|
15
|
-
this.
|
|
15
|
+
this.database = undefined;
|
|
16
16
|
this.libraries = undefined;
|
|
17
17
|
this.tag = '';
|
|
18
18
|
this.workers = [];
|
|
@@ -30,34 +30,34 @@ class ClientExecute {
|
|
|
30
30
|
this.tag = job.uuid;
|
|
31
31
|
this.execute_job_worker(job, source);
|
|
32
32
|
};
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
33
|
+
this.set_database = (data) => {
|
|
34
|
+
this.database = data;
|
|
35
35
|
};
|
|
36
36
|
this.set_libs = (data) => {
|
|
37
37
|
this.libraries = data;
|
|
38
38
|
};
|
|
39
39
|
this.set_string = (data) => {
|
|
40
|
-
if (this.
|
|
40
|
+
if (this.database == undefined)
|
|
41
41
|
return;
|
|
42
|
-
const index = this.
|
|
42
|
+
const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.String);
|
|
43
43
|
if (index != -1)
|
|
44
|
-
this.
|
|
44
|
+
this.database.containers[index].value = data.value;
|
|
45
45
|
this.messager_log(`[Database string sync] ${data.key} = ${data.value}`);
|
|
46
46
|
};
|
|
47
47
|
this.set_number = (data) => {
|
|
48
|
-
if (this.
|
|
48
|
+
if (this.database == undefined)
|
|
49
49
|
return;
|
|
50
|
-
const index = this.
|
|
50
|
+
const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Number);
|
|
51
51
|
if (index != -1)
|
|
52
|
-
this.
|
|
52
|
+
this.database.containers[index].value = data.value;
|
|
53
53
|
this.messager_log(`[Database number sync] ${data.key} = ${data.value}`);
|
|
54
54
|
};
|
|
55
55
|
this.set_boolean = (data) => {
|
|
56
|
-
if (this.
|
|
56
|
+
if (this.database == undefined)
|
|
57
57
|
return;
|
|
58
|
-
const index = this.
|
|
58
|
+
const index = this.database.containers.findIndex(x => x.name == data.key && x.type == interface_1.DataType.Boolean);
|
|
59
59
|
if (index != -1)
|
|
60
|
-
this.
|
|
60
|
+
this.database.containers[index].value = data.value;
|
|
61
61
|
this.messager_log(`[Database boolean sync] ${data.key} = ${data.value}`);
|
|
62
62
|
};
|
|
63
63
|
this.uuid = _uuid;
|
|
@@ -70,7 +70,7 @@ class ClientExecute {
|
|
|
70
70
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
71
71
|
windowsHide: true,
|
|
72
72
|
shell: true,
|
|
73
|
-
env: Object.assign(Object.assign({}, process.env), { type: "JOB", job: JSON.stringify(job), plugin: JSON.stringify(this.client.plugins),
|
|
73
|
+
env: Object.assign(Object.assign({}, process.env), { type: "JOB", job: JSON.stringify(job), plugin: JSON.stringify(this.client.plugins), database: JSON.stringify(this.database), libraries: JSON.stringify(this.libraries) })
|
|
74
74
|
});
|
|
75
75
|
child.stdin.setDefaultEncoding('utf-8');
|
|
76
76
|
this.workers.push(child);
|
|
@@ -163,9 +163,9 @@ class ClientJobExecute {
|
|
|
163
163
|
this.para = new job_database_1.ClientJobDatabase();
|
|
164
164
|
this.os = new os_1.ClientOS(() => this.tag, () => this.job.runtime_uuid || '', _messager, _messager_log);
|
|
165
165
|
this.javascript = new javascript_1.ClientJavascript(_messager, _messager_log, () => this.job);
|
|
166
|
-
this.
|
|
166
|
+
this.database = process.env.database != undefined ? JSON.parse(process.env.database) : undefined;
|
|
167
167
|
this.libraries = process.env.libraries != undefined ? JSON.parse(process.env.libraries) : undefined;
|
|
168
|
-
javascript_1.ClientJavascript.Init(_messager, _messager_log, this.os, this.para, () => this.libraries, () => this.
|
|
168
|
+
javascript_1.ClientJavascript.Init(_messager, _messager_log, this.os, this.para, () => this.libraries, () => this.database, () => this.job);
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
exports.ClientJobExecute = ClientJobExecute;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DatabaseTemplateText = exports.ProjectTemplateText = exports.JobType2Text = exports.JobTypeText = exports.JobResultText = exports.ConnectionText = exports.JobCategoryText = exports.ExecuteStateText = exports.DataTypeText = exports.ServiceMode = exports.JavascriptLib = exports.RecordType = exports.RenderUpdateType = exports.ExecuteState = exports.ParameterTemplate = exports.ProjectTemplate = exports.JobType2 = exports.JobType = exports.ConditionResult = exports.JobCategory = exports.FrontendUpdate = exports.ResourceType = exports.DataTypeBase = exports.DataType = exports.SocketState = void 0;
|
|
3
|
+
exports.DatabaseTemplateText = exports.ProjectTemplateText = exports.JobType2Text = exports.JobTypeText = exports.JobResultText = exports.ConnectionText = exports.JobCategoryText = exports.ExecuteStateText = exports.DataTypeText = exports.ServiceMode = exports.JavascriptLib = exports.RecordType = exports.RenderUpdateType = exports.ExecuteState = exports.ParameterTemplate = exports.ProjectTemplate = exports.JobType2 = exports.JobType = exports.ConditionResult = exports.JobCategory = exports.FrontendUpdate = exports.ResourceType = exports.DataTypeBase = exports.BackendType = exports.DataType = exports.SocketState = void 0;
|
|
4
4
|
var SocketState;
|
|
5
5
|
(function (SocketState) {
|
|
6
6
|
SocketState[SocketState["CONNECTING"] = 0] = "CONNECTING";
|
|
@@ -19,6 +19,13 @@ var DataType;
|
|
|
19
19
|
DataType[DataType["Select"] = 6] = "Select";
|
|
20
20
|
DataType[DataType["List"] = 7] = "List";
|
|
21
21
|
})(DataType || (exports.DataType = DataType = {}));
|
|
22
|
+
var BackendType;
|
|
23
|
+
(function (BackendType) {
|
|
24
|
+
BackendType[BackendType["NONE"] = 0] = "NONE";
|
|
25
|
+
BackendType[BackendType["SERVER"] = 1] = "SERVER";
|
|
26
|
+
BackendType[BackendType["CLUSTER"] = 2] = "CLUSTER";
|
|
27
|
+
BackendType[BackendType["NODE"] = 3] = "NODE";
|
|
28
|
+
})(BackendType || (exports.BackendType = BackendType = {}));
|
|
22
29
|
var DataTypeBase;
|
|
23
30
|
(function (DataTypeBase) {
|
|
24
31
|
DataTypeBase[DataTypeBase["Boolean"] = 0] = "Boolean";
|
package/package.json
CHANGED
package/src/client/analysis.ts
CHANGED
|
@@ -49,7 +49,7 @@ export class ClientAnalysis {
|
|
|
49
49
|
'execute_job': this.execute_job,
|
|
50
50
|
'release': this.release,
|
|
51
51
|
'stop_job': this.stop_all,
|
|
52
|
-
'
|
|
52
|
+
'set_database': this.set_database,
|
|
53
53
|
'set_libs': this.set_libs,
|
|
54
54
|
'shell_folder': this.shell.shell_folder,
|
|
55
55
|
'open_shell': this.shell.open_shell,
|
|
@@ -97,10 +97,10 @@ export class ClientAnalysis {
|
|
|
97
97
|
this.exec.splice(index, 1)
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
private
|
|
100
|
+
private set_database = (data:Database, source: WebSocket, channel:string | undefined) => {
|
|
101
101
|
if(channel == undefined) return
|
|
102
102
|
const target = this.exec_checker(channel)
|
|
103
|
-
target.
|
|
103
|
+
target.set_database(data)
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
private set_libs = (data:Libraries, source: WebSocket, channel:string | undefined) => {
|
package/src/client/database.ts
CHANGED
|
@@ -7,8 +7,8 @@ import WebSocket from "ws";
|
|
|
7
7
|
import { Header, Setter } from "../interface";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* The
|
|
11
|
-
* Update the main
|
|
10
|
+
* The database feedback helper\
|
|
11
|
+
* Update the main database container on the cluster server
|
|
12
12
|
*/
|
|
13
13
|
export class ClientDatabase {
|
|
14
14
|
private source:WebSocket | undefined
|
|
@@ -18,21 +18,21 @@ export class ClientDatabase {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Update
|
|
21
|
+
* Update database number on the cluster server
|
|
22
22
|
* @param data Target KeyValue
|
|
23
23
|
*/
|
|
24
24
|
feedbacknumber = (data:Setter) => {
|
|
25
25
|
this.feedback("feedback_number", data)
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* Update
|
|
28
|
+
* Update database boolean on the cluster server
|
|
29
29
|
* @param data Target KeyValue
|
|
30
30
|
*/
|
|
31
31
|
feedbackboolean = (data:Setter) => {
|
|
32
32
|
this.feedback("feedback_boolean", data)
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
* Update
|
|
35
|
+
* Update database string on the cluster server
|
|
36
36
|
* @param data Target KeyValue
|
|
37
37
|
*/
|
|
38
38
|
feedbackstring = (data:Setter) => {
|
package/src/client/execute.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { ClientDatabase } from './database';
|
|
|
15
15
|
*/
|
|
16
16
|
export class ClientExecute {
|
|
17
17
|
uuid:string
|
|
18
|
-
private
|
|
18
|
+
private database:Database | undefined = undefined
|
|
19
19
|
private libraries:Libraries | undefined = undefined
|
|
20
20
|
private tag: string = ''
|
|
21
21
|
private workers:Array<ChildProcess> = []
|
|
@@ -69,7 +69,7 @@ export class ClientExecute {
|
|
|
69
69
|
type: "JOB",
|
|
70
70
|
job: JSON.stringify(job),
|
|
71
71
|
plugin: JSON.stringify(this.client.plugins),
|
|
72
|
-
|
|
72
|
+
database: JSON.stringify(this.database),
|
|
73
73
|
libraries: JSON.stringify(this.libraries),
|
|
74
74
|
}
|
|
75
75
|
})
|
|
@@ -159,11 +159,11 @@ export class ClientExecute {
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
|
-
* Update
|
|
162
|
+
* Update database, Called by cluster server
|
|
163
163
|
* @param data Target container
|
|
164
164
|
*/
|
|
165
|
-
|
|
166
|
-
this.
|
|
165
|
+
set_database = (data:Database) => {
|
|
166
|
+
this.database = data
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
/**
|
|
@@ -175,36 +175,36 @@ export class ClientExecute {
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
/**
|
|
178
|
-
* Update
|
|
178
|
+
* Update database string, Called by cluster server
|
|
179
179
|
* @deprecated The method should not be used
|
|
180
180
|
* @param data Target keyvalue
|
|
181
181
|
*/
|
|
182
182
|
set_string = (data:Setter) => {
|
|
183
|
-
if(this.
|
|
184
|
-
const index = this.
|
|
185
|
-
if(index != -1) this.
|
|
183
|
+
if(this.database == undefined) return
|
|
184
|
+
const index = this.database.containers.findIndex(x => x.name == data.key&& x.type == DataType.String)
|
|
185
|
+
if(index != -1) this.database.containers[index].value = data.value
|
|
186
186
|
this.messager_log(`[Database string sync] ${data.key} = ${data.value}`)
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
189
|
-
* Update
|
|
189
|
+
* Update database number, Called by cluster server
|
|
190
190
|
* @deprecated The method should not be used
|
|
191
191
|
* @param data Target keyvalue
|
|
192
192
|
*/
|
|
193
193
|
set_number = (data:Setter) => {
|
|
194
|
-
if(this.
|
|
195
|
-
const index = this.
|
|
196
|
-
if(index != -1) this.
|
|
194
|
+
if(this.database == undefined) return
|
|
195
|
+
const index = this.database.containers.findIndex(x => x.name == data.key && x.type == DataType.Number)
|
|
196
|
+
if(index != -1) this.database.containers[index].value = data.value
|
|
197
197
|
this.messager_log(`[Database number sync] ${data.key} = ${data.value}`)
|
|
198
198
|
}
|
|
199
199
|
/**
|
|
200
|
-
* Update
|
|
200
|
+
* Update database boolean, Called by cluster server
|
|
201
201
|
* @deprecated The method should not be used
|
|
202
202
|
* @param data Target keyvalue
|
|
203
203
|
*/
|
|
204
204
|
set_boolean = (data:Setter) => {
|
|
205
|
-
if(this.
|
|
206
|
-
const index = this.
|
|
207
|
-
if(index != -1) this.
|
|
205
|
+
if(this.database == undefined) return
|
|
206
|
+
const index = this.database.containers.findIndex(x => x.name == data.key && x.type == DataType.Boolean)
|
|
207
|
+
if(index != -1) this.database.containers[index].value = data.value
|
|
208
208
|
this.messager_log(`[Database boolean sync] ${data.key} = ${data.value}`)
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -7,7 +7,7 @@ import { Header, Setter } from "../interface"
|
|
|
7
7
|
|
|
8
8
|
export class ClientJobDatabase {
|
|
9
9
|
/**
|
|
10
|
-
* Update
|
|
10
|
+
* Update database number on the cluster server
|
|
11
11
|
* @param data Target KeyValue
|
|
12
12
|
*/
|
|
13
13
|
feedbacknumber = (data:Setter) => {
|
|
@@ -16,9 +16,9 @@ import { ClientOS } from "./os";
|
|
|
16
16
|
*/
|
|
17
17
|
export class ClientJobExecute {
|
|
18
18
|
/**
|
|
19
|
-
* Project
|
|
19
|
+
* Project databases for references
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
database:Database | undefined
|
|
22
22
|
/**
|
|
23
23
|
* User library for scripts
|
|
24
24
|
*/
|
|
@@ -48,12 +48,12 @@ export class ClientJobExecute {
|
|
|
48
48
|
this.para = new ClientJobDatabase()
|
|
49
49
|
this.os = new ClientOS(() => this.tag, () => this.job.runtime_uuid || '', _messager, _messager_log)
|
|
50
50
|
this.javascript = new ClientJavascript(_messager, _messager_log, () => this.job)
|
|
51
|
-
this.
|
|
51
|
+
this.database = process.env.database != undefined ? JSON.parse(process.env.database) : undefined
|
|
52
52
|
this.libraries = process.env.libraries != undefined ? JSON.parse(process.env.libraries) : undefined
|
|
53
53
|
|
|
54
54
|
ClientJavascript.Init(_messager, _messager_log, this.os, this.para,
|
|
55
55
|
() => this.libraries,
|
|
56
|
-
() => this.
|
|
56
|
+
() => this.database,
|
|
57
57
|
() => this.job
|
|
58
58
|
)
|
|
59
59
|
}
|
package/src/interface/enum.ts
CHANGED
|
@@ -20,7 +20,7 @@ export enum SocketState {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* **Data Type**\
|
|
23
|
-
* The support data type for
|
|
23
|
+
* The support data type for database
|
|
24
24
|
*/
|
|
25
25
|
export enum DataType {
|
|
26
26
|
Boolean,
|
|
@@ -32,6 +32,16 @@ export enum DataType {
|
|
|
32
32
|
Select,
|
|
33
33
|
List,
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* **Express Server Type**\
|
|
37
|
+
* For checking the express server type
|
|
38
|
+
*/
|
|
39
|
+
export enum BackendType {
|
|
40
|
+
NONE,
|
|
41
|
+
SERVER,
|
|
42
|
+
CLUSTER,
|
|
43
|
+
NODE,
|
|
44
|
+
}
|
|
35
45
|
/**
|
|
36
46
|
* **Data Type Base**\
|
|
37
47
|
* The support data type for calculation\
|
package/src/interface/ui.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* Vue Client-side only data structure
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import { BackendType } from "./enum"
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* **Application Configuration**\
|
|
12
14
|
* Show current state of the app\
|
|
@@ -40,6 +42,10 @@ export interface AppConfig {
|
|
|
40
42
|
* FOr express mode detect only
|
|
41
43
|
*/
|
|
42
44
|
login:boolean
|
|
45
|
+
/**
|
|
46
|
+
* **Server Type**
|
|
47
|
+
*/
|
|
48
|
+
backendType: BackendType
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
51
|
* **Notification Data Structure**\
|