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.
@@ -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(where, { $inc: { id: 1 } }, { upsert: true });
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, callback) {
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, callback);
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();
@@ -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();
@@ -6,4 +6,5 @@ export declare class ServerConfig extends FrameworkConfig {
6
6
  webserver: WebServerConfig;
7
7
  get serverName(): string;
8
8
  constructor(server_name: any);
9
+ init(): boolean;
9
10
  }
@@ -33,7 +33,7 @@ export declare class MongoBaseService<T> {
33
33
  id: number;
34
34
  des: string;
35
35
  };
36
- rs: mongo.UpdateResult | mongo.Document;
36
+ rs: mongo.Document | mongo.UpdateResult;
37
37
  }>;
38
38
  insert(model: T): Promise<{
39
39
  errcode: {
@@ -114,9 +114,9 @@ declare class MongoManager {
114
114
  id: number;
115
115
  des: string;
116
116
  };
117
- rs: mongo.UpdateResult | mongo.Document;
117
+ rs: mongo.Document | mongo.UpdateResult;
118
118
  }>;
119
- createIndex(collection: string, index: any, callback?: mongo.CreateIndexesOptions): Promise<{
119
+ createIndex(collection: string, index: any, options?: mongo.CreateIndexesOptions): Promise<{
120
120
  errcode: {
121
121
  id: number;
122
122
  des: string;
@@ -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 {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cgserver",
3
- "version": "6.6.0",
3
+ "version": "6.6.3",
4
4
  "author": "trojan",
5
5
  "type": "commonjs",
6
6
  "description": "free for all.Websocket or Http",