@difizen/libro-kernel 0.2.18 → 0.2.20
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.
|
@@ -15,6 +15,7 @@ export declare class ServerManager {
|
|
|
15
15
|
get ready(): Promise<ISpecModels>;
|
|
16
16
|
protected kernelSpecRestAPI: KernelSpecRestAPI;
|
|
17
17
|
constructor(kernelSpecRestAPI: KernelSpecRestAPI);
|
|
18
|
+
loading: boolean;
|
|
18
19
|
launch(): Promise<ISpecModels>;
|
|
19
20
|
protected doLaunch(): Promise<ISpecModels>;
|
|
20
21
|
protected doGetServerStatus(): Promise<ISpecModels | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../../src/server/server-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBACa,aAAa;IACxB;;OAEG;IAEH,SAAS,CAAC,EAAE,OAAO,CAAQ;IAE3B;;OAEG;IAEH,MAAM,CAAC,EAAE,OAAO,CAAS;IAGzB,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAA+B;IAErE,IAAI,KAAK,yBAER;IAED,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAER,iBAAiB,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../../src/server/server-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBACa,aAAa;IACxB;;OAEG;IAEH,SAAS,CAAC,EAAE,OAAO,CAAQ;IAE3B;;OAEG;IAEH,MAAM,CAAC,EAAE,OAAO,CAAS;IAGzB,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAA+B;IAErE,IAAI,KAAK,yBAER;IAED,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAER,iBAAiB,EAAE,iBAAiB;IAI3E,OAAO,UAAS;IAEV,MAAM;cA2BI,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;cAYhC,iBAAiB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAYtE"}
|
|
@@ -28,6 +28,7 @@ export var ServerManager = (_dec = singleton(), _dec2 = prop(), _dec3 = prop(),
|
|
|
28
28
|
_initializerDefineProperty(this, "loaded", _descriptor2, this);
|
|
29
29
|
_initializerDefineProperty(this, "kernelspec", _descriptor3, this);
|
|
30
30
|
this.defer = new Deferred();
|
|
31
|
+
this.loading = false;
|
|
31
32
|
this.kernelSpecRestAPI = kernelSpecRestAPI;
|
|
32
33
|
}
|
|
33
34
|
ServerManager = inject(KernelSpecRestAPI)(ServerManager, undefined, 0) || ServerManager;
|
|
@@ -41,17 +42,33 @@ export var ServerManager = (_dec = singleton(), _dec2 = prop(), _dec3 = prop(),
|
|
|
41
42
|
value: function () {
|
|
42
43
|
var _launch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
43
44
|
var _this = this;
|
|
45
|
+
var current;
|
|
44
46
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
45
47
|
while (1) switch (_context.prev = _context.next) {
|
|
46
48
|
case 0:
|
|
49
|
+
current = this.defer; // 启动中
|
|
50
|
+
if (!this.loading) {
|
|
51
|
+
_context.next = 3;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
return _context.abrupt("return", current.promise);
|
|
55
|
+
case 3:
|
|
56
|
+
// 启动过
|
|
57
|
+
if (this.loaded) {
|
|
58
|
+
this.loaded = false;
|
|
59
|
+
current = new Deferred();
|
|
60
|
+
this.defer = current;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 首次启动
|
|
64
|
+
this.loading = true;
|
|
47
65
|
this.doLaunch().then(function (r) {
|
|
48
|
-
_this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
case 2:
|
|
66
|
+
_this.loading = false;
|
|
67
|
+
_this.loaded = true;
|
|
68
|
+
return current.resolve(r);
|
|
69
|
+
}).catch(console.error);
|
|
70
|
+
return _context.abrupt("return", current.promise);
|
|
71
|
+
case 7:
|
|
55
72
|
case "end":
|
|
56
73
|
return _context.stop();
|
|
57
74
|
}
|
|
@@ -75,24 +92,22 @@ export var ServerManager = (_dec = singleton(), _dec2 = prop(), _dec3 = prop(),
|
|
|
75
92
|
case 2:
|
|
76
93
|
kernelspec = _context2.sent;
|
|
77
94
|
this.launching = true;
|
|
78
|
-
this.loaded = false;
|
|
79
95
|
if (kernelspec) {
|
|
80
|
-
_context2.next =
|
|
96
|
+
_context2.next = 10;
|
|
81
97
|
break;
|
|
82
98
|
}
|
|
83
|
-
_context2.next =
|
|
99
|
+
_context2.next = 7;
|
|
84
100
|
return timeout(1000);
|
|
85
|
-
case
|
|
86
|
-
_context2.next =
|
|
101
|
+
case 7:
|
|
102
|
+
_context2.next = 9;
|
|
87
103
|
return this.doLaunch();
|
|
88
|
-
case
|
|
104
|
+
case 9:
|
|
89
105
|
return _context2.abrupt("return", _context2.sent);
|
|
90
|
-
case
|
|
106
|
+
case 10:
|
|
91
107
|
this.launching = false;
|
|
92
|
-
this.loaded = true;
|
|
93
108
|
this.kernelspec = kernelspec;
|
|
94
109
|
return _context2.abrupt("return", kernelspec);
|
|
95
|
-
case
|
|
110
|
+
case 13:
|
|
96
111
|
case "end":
|
|
97
112
|
return _context2.stop();
|
|
98
113
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@difizen/libro-kernel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.20",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-infra",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"src"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@difizen/libro-common": "^0.2.
|
|
36
|
-
"@difizen/libro-core": "^0.2.
|
|
35
|
+
"@difizen/libro-common": "^0.2.20",
|
|
36
|
+
"@difizen/libro-core": "^0.2.20",
|
|
37
37
|
"@difizen/mana-app": "latest",
|
|
38
38
|
"minimist": "^1.2.8",
|
|
39
39
|
"query-string": "^8.1.0",
|
|
@@ -34,29 +34,43 @@ export class ServerManager {
|
|
|
34
34
|
this.kernelSpecRestAPI = kernelSpecRestAPI;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
loading = false;
|
|
38
|
+
|
|
37
39
|
async launch() {
|
|
40
|
+
let current = this.defer;
|
|
41
|
+
|
|
42
|
+
// 启动中
|
|
43
|
+
if (this.loading) {
|
|
44
|
+
return current.promise;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 启动过
|
|
48
|
+
if (this.loaded) {
|
|
49
|
+
this.loaded = false;
|
|
50
|
+
current = new Deferred<ISpecModels>();
|
|
51
|
+
this.defer = current;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 首次启动
|
|
55
|
+
this.loading = true;
|
|
38
56
|
this.doLaunch()
|
|
39
57
|
.then((r) => {
|
|
40
|
-
this.
|
|
41
|
-
|
|
58
|
+
this.loading = false;
|
|
59
|
+
this.loaded = true;
|
|
60
|
+
return current.resolve(r);
|
|
42
61
|
})
|
|
43
|
-
.catch(
|
|
44
|
-
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
return this.defer.promise;
|
|
62
|
+
.catch(console.error);
|
|
63
|
+
return current.promise;
|
|
48
64
|
}
|
|
49
65
|
|
|
50
66
|
protected async doLaunch(): Promise<ISpecModels> {
|
|
51
67
|
const kernelspec = await this.doGetServerStatus();
|
|
52
68
|
this.launching = true;
|
|
53
|
-
this.loaded = false;
|
|
54
69
|
if (!kernelspec) {
|
|
55
70
|
await timeout(1000);
|
|
56
71
|
return await this.doLaunch();
|
|
57
72
|
}
|
|
58
73
|
this.launching = false;
|
|
59
|
-
this.loaded = true;
|
|
60
74
|
this.kernelspec = kernelspec;
|
|
61
75
|
return kernelspec;
|
|
62
76
|
}
|