cgserver 6.6.0 → 6.6.3
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/lib/Config/ServerConfig.js +7 -0
- package/dist/lib/Database/MongoManager.js +14 -4
- package/dist/lib/SocketServer/ISocketServer.js +2 -0
- package/dist/lib/SocketServer/IWebSocket.js +0 -1
- package/dist/lib/WebServer/IWebServer.js +4 -0
- package/dist/lib/cgserver.js +22 -1
- package/dist/types/Config/ServerConfig.d.ts +1 -0
- package/dist/types/Database/MongoBaseService.d.ts +1 -1
- package/dist/types/Database/MongoManager.d.ts +2 -2
- package/dist/types/cgserver.d.ts +10 -1
- package/package.json +1 -1
|
@@ -14,7 +14,14 @@ class ServerConfig extends FrameworkConfig_1.FrameworkConfig {
|
|
|
14
14
|
super();
|
|
15
15
|
this._suffix = server_name;
|
|
16
16
|
this._server_name = server_name;
|
|
17
|
+
}
|
|
18
|
+
init() {
|
|
19
|
+
let ret = super.init();
|
|
20
|
+
if (!ret) {
|
|
21
|
+
return ret;
|
|
22
|
+
}
|
|
17
23
|
exports.GServerCfg = this;
|
|
24
|
+
return ret;
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
27
|
exports.ServerConfig = ServerConfig;
|
|
@@ -63,7 +63,7 @@ class MongoManager {
|
|
|
63
63
|
this._inited = true;
|
|
64
64
|
Log_1.GLog.info("mongo config=" + JSON.stringify(ServerConfig_1.GServerCfg.db.mongo));
|
|
65
65
|
let client = new mongo.MongoClient("mongodb://" + ServerConfig_1.GServerCfg.db.mongo.host + ":" + ServerConfig_1.GServerCfg.db.mongo.port, ServerConfig_1.GServerCfg.db.mongo.options);
|
|
66
|
-
await client.connect
|
|
66
|
+
await Core_1.core.safeCall(client.connect, client);
|
|
67
67
|
this.onConnect();
|
|
68
68
|
this._mongo = client.db(ServerConfig_1.GServerCfg.db.mongo.database);
|
|
69
69
|
for (let i = 0; i < this._init_cbs.length; ++i) {
|
|
@@ -97,7 +97,7 @@ class MongoManager {
|
|
|
97
97
|
let col = this._mongo.collection(collection);
|
|
98
98
|
try {
|
|
99
99
|
let where = this._convertWhere({ _id: key });
|
|
100
|
-
let rs = await col.findOneAndUpdate
|
|
100
|
+
let rs = await Core_1.core.safeCall(col.findOneAndUpdate, col, where, { $inc: { id: 1 } }, { upsert: true });
|
|
101
101
|
if (rs.ok) {
|
|
102
102
|
return rs.value.id + 1;
|
|
103
103
|
}
|
|
@@ -140,6 +140,7 @@ class MongoManager {
|
|
|
140
140
|
one = await col.findOne(where, { projection: property });
|
|
141
141
|
}
|
|
142
142
|
catch (e) {
|
|
143
|
+
Log_1.GLog.error({ collection, property, where });
|
|
143
144
|
Log_1.GLog.error(e.stack);
|
|
144
145
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
145
146
|
}
|
|
@@ -169,6 +170,7 @@ class MongoManager {
|
|
|
169
170
|
list = await cursor.toArray();
|
|
170
171
|
}
|
|
171
172
|
catch (e) {
|
|
173
|
+
Log_1.GLog.error({ collection, property, where, sort, skip, limit });
|
|
172
174
|
Log_1.GLog.error(e.stack);
|
|
173
175
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
174
176
|
}
|
|
@@ -188,6 +190,7 @@ class MongoManager {
|
|
|
188
190
|
count = await col.countDocuments(where || {}, options);
|
|
189
191
|
}
|
|
190
192
|
catch (e) {
|
|
193
|
+
Log_1.GLog.error({ collection, where });
|
|
191
194
|
Log_1.GLog.error(e.stack);
|
|
192
195
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
193
196
|
}
|
|
@@ -207,6 +210,7 @@ class MongoManager {
|
|
|
207
210
|
del_rs = await col.deleteOne(where || {});
|
|
208
211
|
}
|
|
209
212
|
catch (e) {
|
|
213
|
+
Log_1.GLog.error({ collection, where });
|
|
210
214
|
Log_1.GLog.error(e.stack);
|
|
211
215
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
212
216
|
}
|
|
@@ -228,6 +232,7 @@ class MongoManager {
|
|
|
228
232
|
del_rs = await col.deleteMany(where || {});
|
|
229
233
|
}
|
|
230
234
|
catch (e) {
|
|
235
|
+
Log_1.GLog.error({ collection, where });
|
|
231
236
|
Log_1.GLog.error(e.stack);
|
|
232
237
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
233
238
|
}
|
|
@@ -253,6 +258,7 @@ class MongoManager {
|
|
|
253
258
|
in_rs = await col.insertOne(data);
|
|
254
259
|
}
|
|
255
260
|
catch (e) {
|
|
261
|
+
Log_1.GLog.error({ collection, data });
|
|
256
262
|
Log_1.GLog.error(e.stack);
|
|
257
263
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
258
264
|
}
|
|
@@ -271,6 +277,7 @@ class MongoManager {
|
|
|
271
277
|
in_rs = await col.insertMany(data);
|
|
272
278
|
}
|
|
273
279
|
catch (e) {
|
|
280
|
+
Log_1.GLog.error({ collection, data });
|
|
274
281
|
Log_1.GLog.error(e.stack);
|
|
275
282
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
276
283
|
}
|
|
@@ -308,6 +315,7 @@ class MongoManager {
|
|
|
308
315
|
up_rs = await col.updateOne(where, updatemodel, { upsert: upsert });
|
|
309
316
|
}
|
|
310
317
|
catch (e) {
|
|
318
|
+
Log_1.GLog.error({ collection, model, where, upsert });
|
|
311
319
|
Log_1.GLog.error(e.stack);
|
|
312
320
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
313
321
|
}
|
|
@@ -338,13 +346,14 @@ class MongoManager {
|
|
|
338
346
|
up_rs = await col.updateMany(where, updateModel, { upsert: upsert });
|
|
339
347
|
}
|
|
340
348
|
catch (e) {
|
|
349
|
+
Log_1.GLog.error({ collection, model, where, upsert });
|
|
341
350
|
Log_1.GLog.error(e.stack);
|
|
342
351
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
343
352
|
}
|
|
344
353
|
rs.rs = up_rs;
|
|
345
354
|
return rs;
|
|
346
355
|
}
|
|
347
|
-
async createIndex(collection, index,
|
|
356
|
+
async createIndex(collection, index, options) {
|
|
348
357
|
let rs = { errcode: null, rs: null };
|
|
349
358
|
if (!this._mongo) {
|
|
350
359
|
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
@@ -353,9 +362,10 @@ class MongoManager {
|
|
|
353
362
|
let i_rs = null;
|
|
354
363
|
try {
|
|
355
364
|
let col = this._mongo.collection(collection);
|
|
356
|
-
i_rs = await col.createIndex(index,
|
|
365
|
+
i_rs = await col.createIndex(index, options);
|
|
357
366
|
}
|
|
358
367
|
catch (e) {
|
|
368
|
+
Log_1.GLog.error({ collection, index });
|
|
359
369
|
Log_1.GLog.error(e.stack);
|
|
360
370
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
361
371
|
}
|
|
@@ -12,6 +12,7 @@ const MongoManager_1 = require("../Database/MongoManager");
|
|
|
12
12
|
const MSSqlManager_1 = require("../Database/MSSqlManager");
|
|
13
13
|
const EventTool_1 = require("../Logic/EventTool");
|
|
14
14
|
const ServerConfig_1 = require("../Config/ServerConfig");
|
|
15
|
+
const cgserver_1 = require("../cgserver");
|
|
15
16
|
class ISocketServer {
|
|
16
17
|
//服务器已被关闭
|
|
17
18
|
_is_closed = false;
|
|
@@ -69,6 +70,7 @@ class ISocketServer {
|
|
|
69
70
|
delete this._ws_clients[socketId];
|
|
70
71
|
}
|
|
71
72
|
async run() {
|
|
73
|
+
cgserver_1.GCgServer.addSocketServer(this);
|
|
72
74
|
await MSSqlManager_1.GMSSqlMgr.init();
|
|
73
75
|
await MysqlManager_1.GMysqlMgr.init();
|
|
74
76
|
await RedisManager_1.GRedisMgr.init(ServerConfig_1.GServerCfg.db.redis);
|
|
@@ -193,7 +193,6 @@ class IWebSocket {
|
|
|
193
193
|
onOpen(e) {
|
|
194
194
|
}
|
|
195
195
|
onError(e) {
|
|
196
|
-
Log_1.GLog.error(this.tipKey + " onError:" + e.message);
|
|
197
196
|
}
|
|
198
197
|
onClose(reasonCode, description) {
|
|
199
198
|
Log_1.GLog.info(this.tipKey + " onClose resonCode=" + reasonCode + " des=" + description);
|
|
@@ -9,6 +9,8 @@ const RazorJs_1 = require("./Engine/RazorJs");
|
|
|
9
9
|
const MongoManager_1 = require("../Database/MongoManager");
|
|
10
10
|
const AlipayTool_1 = require("../ThirdParty/AlipayTool");
|
|
11
11
|
const ServerConfig_1 = require("../Config/ServerConfig");
|
|
12
|
+
const EventTool_1 = require("../Logic/EventTool");
|
|
13
|
+
const cgserver_1 = require("../cgserver");
|
|
12
14
|
//实现对controller的手动注册
|
|
13
15
|
class IWebServer {
|
|
14
16
|
_engine = null;
|
|
@@ -17,6 +19,7 @@ class IWebServer {
|
|
|
17
19
|
* @param server_index 这个是服务器的配置index
|
|
18
20
|
*/
|
|
19
21
|
async start(cfg) {
|
|
22
|
+
cgserver_1.GCgServer.addWebServer(this);
|
|
20
23
|
if (!cfg) {
|
|
21
24
|
Log_1.GLog.error("webserver 配置不存在,启动服务器失败");
|
|
22
25
|
return false;
|
|
@@ -30,6 +33,7 @@ class IWebServer {
|
|
|
30
33
|
this._engine.start();
|
|
31
34
|
this._registerController();
|
|
32
35
|
this._registerRouter();
|
|
36
|
+
EventTool_1.GEventTool.emit("web_server_init_done");
|
|
33
37
|
}
|
|
34
38
|
stop() {
|
|
35
39
|
this._engine.stop();
|
package/dist/lib/cgserver.js
CHANGED
|
@@ -6,6 +6,14 @@ const EventTool_1 = require("./Logic/EventTool");
|
|
|
6
6
|
const Core_1 = require("./Core/Core");
|
|
7
7
|
const Config_1 = require("./Config/Config");
|
|
8
8
|
class CgServer {
|
|
9
|
+
_webservers = [];
|
|
10
|
+
get webServers() {
|
|
11
|
+
return this._webservers;
|
|
12
|
+
}
|
|
13
|
+
_socketservers = [];
|
|
14
|
+
get socketServers() {
|
|
15
|
+
return this._socketservers;
|
|
16
|
+
}
|
|
9
17
|
_events = {};
|
|
10
18
|
_debug = false;
|
|
11
19
|
get debug() {
|
|
@@ -14,10 +22,11 @@ class CgServer {
|
|
|
14
22
|
constructor() {
|
|
15
23
|
this.init();
|
|
16
24
|
}
|
|
17
|
-
init() {
|
|
25
|
+
init(servernum = 1) {
|
|
18
26
|
process.on("uncaughtException", this.onUnCaughtException.bind(this));
|
|
19
27
|
process.env.TZ = "Asia/Shanghai";
|
|
20
28
|
EventTool_1.GEventTool.on("socket_server_init_done", this.onStart.bind(this));
|
|
29
|
+
EventTool_1.GEventTool.on("web_server_init_done", this.onStart.bind(this));
|
|
21
30
|
let argv = process.argv || [];
|
|
22
31
|
for (let i = 0; i < argv.length; ++i) {
|
|
23
32
|
let arg = argv[i].toLowerCase();
|
|
@@ -27,7 +36,13 @@ class CgServer {
|
|
|
27
36
|
}
|
|
28
37
|
}
|
|
29
38
|
}
|
|
39
|
+
_done = 0;
|
|
30
40
|
onStart() {
|
|
41
|
+
++this._done;
|
|
42
|
+
let total = this._webservers.length + this._socketservers.length;
|
|
43
|
+
if (this._done != total) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
31
46
|
let events = this._events["start"] || [];
|
|
32
47
|
for (let i = 0; i < events.length; ++i) {
|
|
33
48
|
Core_1.core.safeCall(events[i]);
|
|
@@ -52,5 +67,11 @@ class CgServer {
|
|
|
52
67
|
onUnCaughtException(e) {
|
|
53
68
|
Log_1.GLog.error(e.stack);
|
|
54
69
|
}
|
|
70
|
+
addWebServer(server) {
|
|
71
|
+
this._webservers.push(server);
|
|
72
|
+
}
|
|
73
|
+
addSocketServer(server) {
|
|
74
|
+
this._socketservers.push(server);
|
|
75
|
+
}
|
|
55
76
|
}
|
|
56
77
|
exports.GCgServer = new CgServer();
|
|
@@ -114,9 +114,9 @@ declare class MongoManager {
|
|
|
114
114
|
id: number;
|
|
115
115
|
des: string;
|
|
116
116
|
};
|
|
117
|
-
rs: mongo.
|
|
117
|
+
rs: mongo.Document | mongo.UpdateResult;
|
|
118
118
|
}>;
|
|
119
|
-
createIndex(collection: string, index: any,
|
|
119
|
+
createIndex(collection: string, index: any, options?: mongo.CreateIndexesOptions): Promise<{
|
|
120
120
|
errcode: {
|
|
121
121
|
id: number;
|
|
122
122
|
des: string;
|
package/dist/types/cgserver.d.ts
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
|
+
import { IWebServer } from "./WebServer/IWebServer";
|
|
2
|
+
import { ISocketServer } from "./SocketServer/ISocketServer";
|
|
1
3
|
declare class CgServer {
|
|
4
|
+
protected _webservers: IWebServer[];
|
|
5
|
+
get webServers(): IWebServer[];
|
|
6
|
+
protected _socketservers: ISocketServer[];
|
|
7
|
+
get socketServers(): ISocketServer[];
|
|
2
8
|
protected _events: {
|
|
3
9
|
[name: string]: Function[];
|
|
4
10
|
};
|
|
5
11
|
protected _debug: boolean;
|
|
6
12
|
get debug(): boolean;
|
|
7
13
|
constructor();
|
|
8
|
-
init(): void;
|
|
14
|
+
init(servernum?: number): void;
|
|
15
|
+
protected _done: number;
|
|
9
16
|
onStart(): void;
|
|
10
17
|
addListener(event: "start", func: () => void): void;
|
|
11
18
|
removeListener(event: "start", func: () => void): boolean;
|
|
12
19
|
onUnCaughtException(e: any): void;
|
|
20
|
+
addWebServer(server: IWebServer): void;
|
|
21
|
+
addSocketServer(server: ISocketServer): void;
|
|
13
22
|
}
|
|
14
23
|
export declare let GCgServer: CgServer;
|
|
15
24
|
export {};
|