@steedos/service-metadata 2.1.76 → 2.1.83

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.
@@ -6,9 +6,13 @@ export declare const ActionHandlers: {
6
6
  clearPackageServices: typeof clearPackageServices;
7
7
  clearPackageServicesMetadatas: typeof clearPackageServicesMetadatas;
8
8
  get(ctx: any): Promise<any>;
9
+ mget(ctx: any): Promise<any>;
9
10
  filter(ctx: any): Promise<Array<any>>;
11
+ mfilter(ctx: any): Promise<Array<any>>;
10
12
  add(ctx: any): Promise<any>;
13
+ madd(ctx: any): Promise<any>;
11
14
  addServiceMetadata(ctx: any): Promise<void>;
15
+ maddServiceMetadata(ctx: any): Promise<void>;
12
16
  fuzzyDelete(ctx: any): Promise<void>;
13
17
  delete(ctx: any): Promise<boolean>;
14
18
  getServiceMetadatas(ctx: any): Promise<any[]>;
@@ -7,7 +7,35 @@ const PACKAGE_SERVICES_KEY = '$PACKAGE-SERVICES';
7
7
  const PACKAGE_SERVICE_PREFIX = '~packages-';
8
8
  const METADATA_SERVICES_PERFIX = '$METADATA-SERVICES';
9
9
  const _ = require("underscore");
10
+ const lodash_1 = require("lodash");
10
11
  let savePackageServicesTimeoutID = null;
12
+ const useScan = true;
13
+ function redisScanKeys(redisClient, match, count = 10000) {
14
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
15
+ if (!useScan) {
16
+ return yield redisClient.keys(match);
17
+ }
18
+ else {
19
+ return yield new Promise((resolve, reject) => {
20
+ var stream = redisClient.scanStream({
21
+ // only returns keys following the pattern of `user:*`
22
+ match: match,
23
+ // returns approximately 100 elements per call
24
+ count: count
25
+ });
26
+ var keys = [];
27
+ stream.on('data', function (resultKeys) {
28
+ for (var i = 0; i < resultKeys.length; i++) {
29
+ keys.push(resultKeys[i]);
30
+ }
31
+ });
32
+ stream.on('end', function () {
33
+ resolve(keys);
34
+ });
35
+ });
36
+ }
37
+ });
38
+ }
11
39
  //////////////// mock for redis cacher ////////////////
12
40
  // let mockCacherData: string[] = [];
13
41
  // let mock_prefix = "";
@@ -70,6 +98,13 @@ let savePackageServicesTimeoutID = null;
70
98
  function transformMetadata(ctx) {
71
99
  return Object.assign(Object.assign({}, ctx.meta.caller), { metadata: ctx.params.data });
72
100
  }
101
+ function transformMetadatas(ctx) {
102
+ const data = {};
103
+ (0, lodash_1.map)(ctx.params.data, (value, key) => {
104
+ data[key] = Object.assign(Object.assign({}, ctx.meta.caller), { metadata: value });
105
+ });
106
+ return data;
107
+ }
73
108
  function getKey(key, keyPrefix) {
74
109
  return key.replace(keyPrefix, "");
75
110
  }
@@ -77,30 +112,16 @@ function getServiceMetadataCacherKey(nodeID, serviceName, metadataType, metadata
77
112
  return `$${nodeID}.${SERVICE_METADATA_PREFIX}.${serviceName}.${metadataType}.${metadataApiName}`;
78
113
  }
79
114
  function addServiceMetadata(ctx) {
80
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
115
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
81
116
  const { nodeID } = ctx.meta.caller || { nodeID: undefined };
82
117
  if (!nodeID) {
83
118
  console.log(`addServiceMetadata ctx.meta`, ctx.meta);
84
119
  }
85
120
  const { metadataType, metadataApiName, metadataServiceName } = ctx.meta || { metadataType: undefined, metadataApiName: undefined, metadataServiceName: undefined };
86
- // if(metadataType){
87
- // console.log('saveServiceMetadataMap', metadataType, metadataApiName, metadataServiceName )
88
- // }
89
121
  if (!metadataServiceName) {
90
122
  return;
91
123
  }
92
124
  const key = getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName);
93
- if (false && metadataType === 'objects') {
94
- console.log(`addServiceMetadata`, key);
95
- }
96
- // let data = await ctx.broker.cacher.get(key);// REPLACE: await mockCacherGet(ctx, key);
97
- // let nodeIds = [];
98
- // if (data) {
99
- // if (data.nodeIds) {
100
- // nodeIds = data.nodeIds;
101
- // }
102
- // }
103
- // nodeIds.push(nodeID);
104
125
  yield ctx.broker.cacher.set(key, {
105
126
  nodeIds: [nodeID],
106
127
  metadataType,
@@ -108,28 +129,97 @@ function addServiceMetadata(ctx) {
108
129
  metadataServiceName,
109
130
  metadata: ctx.params.data,
110
131
  });
111
- // REPLACE:
112
- // await mockCacherSet(ctx, key, {
113
- // nodeIds: nodeIds,
114
- // metadataType,
115
- // metadataApiName,
116
- // metadata: ctx.params.data,
117
- // });
132
+ });
133
+ }
134
+ function maddServiceMetadata(ctx) {
135
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
136
+ const { nodeID } = ctx.meta.caller || { nodeID: undefined };
137
+ if (!nodeID) {
138
+ console.log(`addServiceMetadata ctx.meta`, ctx.meta);
139
+ }
140
+ const { metadataType, metadataServiceName } = ctx.meta || { metadataType: undefined, metadataServiceName: undefined };
141
+ //data: {k1:v1, k2:v2}
142
+ const { data } = ctx.params;
143
+ if (!metadataServiceName || !data) {
144
+ return;
145
+ }
146
+ const mdata = {};
147
+ (0, lodash_1.map)(data, (value, metadataApiName) => {
148
+ mdata[getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName)] = {
149
+ nodeIds: [nodeID],
150
+ metadataType,
151
+ metadataApiName,
152
+ metadataServiceName,
153
+ metadata: value,
154
+ };
155
+ });
156
+ yield mset(ctx, mdata);
157
+ });
158
+ }
159
+ function mget(ctx, keys) {
160
+ var _a;
161
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
162
+ if (!keys || keys.length == 0) {
163
+ return [];
164
+ }
165
+ const keyPrefix = ((_a = ctx.broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
166
+ const values = yield ctx.broker.cacher.client.mget(...(0, lodash_1.map)(keys, (key) => {
167
+ if (key && !key.startsWith(keyPrefix)) {
168
+ return `${keyPrefix}${key}`;
169
+ }
170
+ else {
171
+ return key;
172
+ }
173
+ }));
174
+ const results = [];
175
+ _.map(values, (item) => {
176
+ try {
177
+ if (item) {
178
+ results.push(JSON.parse(item));
179
+ }
180
+ else {
181
+ results.push(item);
182
+ }
183
+ }
184
+ catch (error) {
185
+ results.push(item);
186
+ }
187
+ });
188
+ return results;
189
+ });
190
+ }
191
+ function mset(ctx, data) {
192
+ var _a;
193
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
194
+ if (_.isEmpty(data)) {
195
+ return;
196
+ }
197
+ const keyPrefix = ((_a = ctx.broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
198
+ const mdata = {};
199
+ _.map(data, (v, k) => {
200
+ mdata[`${keyPrefix}${k}`] = JSON.stringify(v);
201
+ });
202
+ return yield ctx.broker.cacher.client.mset(mdata);
118
203
  });
119
204
  }
120
205
  // 这里需要更改
121
206
  function query(ctx, queryKey) {
122
207
  var _a;
123
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
208
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
124
209
  try {
210
+ // const s = new Date().getTime();
125
211
  const keyPrefix = ((_a = ctx.broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
126
- const keys = yield ctx.broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
212
+ // const sk = new Date().getTime();
213
+ const keys = yield redisScanKeys(ctx.broker.cacher.client, `${keyPrefix}${queryKey}`); //ctx.broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
214
+ // const dk = new Date().getTime() - sk;
215
+ // const sv = new Date().getTime();
127
216
  // REPLACE: const keys = await mockCacherKeys(ctx, `${keyPrefix}${queryKey}`) //TODO 此功能仅支持redis cache
128
- const values = [];
129
- for (const key of keys) {
130
- values.push(yield ctx.broker.cacher.get(getKey(key, keyPrefix)));
131
- // REPLACE: values.push(await mockCacherGet(ctx, getKey(key, keyPrefix)));
132
- }
217
+ const values = _.compact(yield mget(ctx, keys));
218
+ // const dv = new Date().getTime() - sv;
219
+ // const d = new Date().getTime() - s;
220
+ // if (d > Number(process.env.STEEDOS_DURATION)) {
221
+ // console.log(`query`, d, dk, dv, `${keyPrefix}${queryKey}`);
222
+ // }
133
223
  return values;
134
224
  }
135
225
  catch (error) {
@@ -144,9 +234,9 @@ function getPackageServiceCacherKey(nodeID, serviceName) {
144
234
  function setPackageServices(ctx, packageServices) {
145
235
  var packageServices_1, packageServices_1_1;
146
236
  var e_1, _a;
147
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
237
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
148
238
  try {
149
- for (packageServices_1 = tslib_1.__asyncValues(packageServices); packageServices_1_1 = yield packageServices_1.next(), !packageServices_1_1.done;) {
239
+ for (packageServices_1 = (0, tslib_1.__asyncValues)(packageServices); packageServices_1_1 = yield packageServices_1.next(), !packageServices_1_1.done;) {
150
240
  const packageService = packageServices_1_1.value;
151
241
  ctx.broker.cacher.set(getPackageServiceCacherKey(packageService.nodeID, packageService.name), { service: packageService });
152
242
  }
@@ -163,9 +253,9 @@ function setPackageServices(ctx, packageServices) {
163
253
  function clearPackageServices(ctx, packageServices) {
164
254
  var packageServices_2, packageServices_2_1;
165
255
  var e_2, _a;
166
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
256
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
167
257
  try {
168
- for (packageServices_2 = tslib_1.__asyncValues(packageServices); packageServices_2_1 = yield packageServices_2.next(), !packageServices_2_1.done;) {
258
+ for (packageServices_2 = (0, tslib_1.__asyncValues)(packageServices); packageServices_2_1 = yield packageServices_2.next(), !packageServices_2_1.done;) {
169
259
  const packageService = packageServices_2_1.value;
170
260
  let nodeID = null;
171
261
  let name = null;
@@ -192,7 +282,7 @@ function clearPackageServices(ctx, packageServices) {
192
282
  });
193
283
  }
194
284
  function getLastPackageServices(ctx) {
195
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
285
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
196
286
  const packageServices = yield query(ctx, getPackageServiceCacherKey("*", "*"));
197
287
  const services = [];
198
288
  packageServices.forEach((element) => {
@@ -204,7 +294,7 @@ function getLastPackageServices(ctx) {
204
294
  });
205
295
  }
206
296
  function getPackageServices(ctx) {
207
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
297
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
208
298
  const packageServices = [];
209
299
  const services = ctx.broker.registry.getServiceList({ withActions: true });
210
300
  _.each(services, (serviceItem) => {
@@ -224,7 +314,7 @@ function getPackageServices(ctx) {
224
314
  });
225
315
  }
226
316
  function clearPackageServiceMetadatas(ctx, nodeID, packageServiceName) {
227
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
317
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
228
318
  const key = getServiceMetadataCacherKey(nodeID, packageServiceName, "*", "*");
229
319
  const clearMetadatas = yield query(ctx, key);
230
320
  yield ctx.broker.cacher.clean(key);
@@ -235,10 +325,10 @@ function clearPackageServiceMetadatas(ctx, nodeID, packageServiceName) {
235
325
  function clearPackageServicesMetadatas(ctx, offlinePackageServices) {
236
326
  var offlinePackageServices_1, offlinePackageServices_1_1;
237
327
  var e_3, _a;
238
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
328
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
239
329
  let clearMetadatas = [];
240
330
  try {
241
- for (offlinePackageServices_1 = tslib_1.__asyncValues(offlinePackageServices); offlinePackageServices_1_1 = yield offlinePackageServices_1.next(), !offlinePackageServices_1_1.done;) {
331
+ for (offlinePackageServices_1 = (0, tslib_1.__asyncValues)(offlinePackageServices); offlinePackageServices_1_1 = yield offlinePackageServices_1.next(), !offlinePackageServices_1_1.done;) {
242
332
  const packageService = offlinePackageServices_1_1.value;
243
333
  let nodeID = null;
244
334
  let name = null;
@@ -269,10 +359,10 @@ function clearPackageServicesMetadatas(ctx, offlinePackageServices) {
269
359
  }
270
360
  function getMetadataServices(broker) {
271
361
  var _a;
272
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
362
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
273
363
  const queryKey = `${METADATA_SERVICES_PERFIX}.*`;
274
364
  const keyPrefix = ((_a = broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
275
- const keys = yield broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
365
+ const keys = yield redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`); // broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
276
366
  // REPLACE: const keys = await mockCacherKeys({broker,}, `${keyPrefix}${queryKey}`) //TODO 此功能仅支持redis cache
277
367
  const values = [];
278
368
  for (const key of keys) {
@@ -283,7 +373,7 @@ function getMetadataServices(broker) {
283
373
  });
284
374
  }
285
375
  function started(broker) {
286
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
376
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
287
377
  // mock_prefix = broker.cacher?.prefix || "";
288
378
  yield broker.cacher.set(`${METADATA_SERVICES_PERFIX}.${broker.nodeID}`, {});
289
379
  // REPLACE: await mockCacherSet({broker, }, `${METADATA_SERVICES_PERFIX}.${broker.nodeID}`, {});
@@ -291,7 +381,7 @@ function started(broker) {
291
381
  }
292
382
  exports.started = started;
293
383
  function stopped(broker) {
294
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
384
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
295
385
  yield broker.cacher.del(`${METADATA_SERVICES_PERFIX}.${broker.nodeID}`);
296
386
  // REPLACE: await mockCacherDel({broker}, `${METADATA_SERVICES_PERFIX}.${broker.nodeID}`);
297
387
  const services = yield getMetadataServices(broker);
@@ -306,7 +396,7 @@ exports.ActionHandlers = {
306
396
  clearPackageServices,
307
397
  clearPackageServicesMetadatas,
308
398
  get(ctx) {
309
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
399
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
310
400
  try {
311
401
  return yield ctx.broker.cacher.get(ctx.params.key);
312
402
  }
@@ -315,8 +405,18 @@ exports.ActionHandlers = {
315
405
  // REPLACE: return await mockCacherGet(ctx, ctx.params.key)
316
406
  });
317
407
  },
408
+ mget(ctx) {
409
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
410
+ try {
411
+ return yield mget(ctx, ctx.params.keys);
412
+ }
413
+ catch (error) {
414
+ }
415
+ // REPLACE: return await mockCacherGet(ctx, ctx.params.key)
416
+ });
417
+ },
318
418
  filter(ctx) {
319
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
419
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
320
420
  return yield query(ctx, ctx.params.key);
321
421
  // const keyPrefix = ctx.broker.cacher.prefix
322
422
  // const keys = await ctx.broker.cacher.client.keys(`${keyPrefix}${ctx.params.key}`) //TODO 此功能仅支持redis cache
@@ -327,35 +427,51 @@ exports.ActionHandlers = {
327
427
  // return values;
328
428
  });
329
429
  },
430
+ mfilter(ctx) {
431
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
432
+ const values = [];
433
+ for (const key of ctx.params.keys) {
434
+ values.push(yield query(ctx, key));
435
+ }
436
+ return values;
437
+ });
438
+ },
330
439
  add(ctx) {
331
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
440
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
332
441
  return yield ctx.broker.cacher.set(ctx.params.key, transformMetadata(ctx));
333
442
  // REPLACE: return await mockCacherSet(ctx, ctx.params.key, transformMetadata(ctx));
334
443
  });
335
444
  },
445
+ madd(ctx) {
446
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
447
+ return yield mset(ctx, transformMetadatas(ctx));
448
+ });
449
+ },
336
450
  addServiceMetadata(ctx) {
337
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
451
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
338
452
  return yield addServiceMetadata(ctx);
339
453
  });
340
454
  },
455
+ maddServiceMetadata(ctx) {
456
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
457
+ return yield maddServiceMetadata(ctx);
458
+ });
459
+ },
341
460
  fuzzyDelete(ctx) {
342
461
  var _a;
343
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
462
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
344
463
  const { key } = ctx.params;
345
464
  const keyPrefix = ((_a = ctx.broker.cacher) === null || _a === void 0 ? void 0 : _a.prefix) || "";
346
- const keys = yield ctx.broker.cacher.client.keys(`${keyPrefix}${key}`);
465
+ const keys = yield redisScanKeys(ctx.broker.cacher.client, `${keyPrefix}${key}`); // await ctx.broker.cacher.client.keys(`${keyPrefix}${key}`);
347
466
  for (const _key of keys) {
348
467
  yield ctx.broker.cacher.del(getKey(_key, keyPrefix));
349
468
  }
350
469
  });
351
470
  },
352
471
  delete(ctx) {
353
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
472
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
354
473
  try {
355
- if (ctx.broker.cacher.client.connected) {
356
- yield ctx.broker.cacher.del(ctx.params.key);
357
- }
358
- // REPLACE: await mockCacherDel(ctx, ctx.params.key);
474
+ yield ctx.broker.cacher.del(ctx.params.key);
359
475
  }
360
476
  catch (error) {
361
477
  ctx.broker.logger.info(error.message);
@@ -364,7 +480,7 @@ exports.ActionHandlers = {
364
480
  });
365
481
  },
366
482
  getServiceMetadatas(ctx) {
367
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
483
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
368
484
  let { nodeID, serviceName, metadataType, metadataApiName } = ctx.params;
369
485
  if (!nodeID) {
370
486
  nodeID = "*";
@@ -383,7 +499,7 @@ exports.ActionHandlers = {
383
499
  });
384
500
  },
385
501
  getServiceMetadata(ctx) {
386
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
502
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
387
503
  let { serviceName, metadataType, metadataApiName } = ctx.params;
388
504
  const { nodeID } = ctx.meta.caller || { nodeID: undefined };
389
505
  if (!nodeID) {
@@ -395,7 +511,7 @@ exports.ActionHandlers = {
395
511
  });
396
512
  },
397
513
  removeServiceMetadata(ctx) {
398
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
514
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
399
515
  let { serviceName, metadataType, metadataApiName } = ctx.params;
400
516
  const { nodeID } = ctx.meta.caller || { nodeID: undefined };
401
517
  if (!nodeID) {
@@ -406,7 +522,7 @@ exports.ActionHandlers = {
406
522
  });
407
523
  },
408
524
  refreshServiceMetadatas(ctx) {
409
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
525
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
410
526
  const { offlinePackageServices: _offlinePackageServices } = ctx.params || { offlinePackageServices: undefined };
411
527
  if (_offlinePackageServices && _offlinePackageServices.length > 0) {
412
528
  // await clearPackageServices(ctx, _offlinePackageServices);
@@ -1 +1 @@
1
- {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("tslib");
5
5
  const actionsHandler_1 = require("./actionsHandler");
6
6
  const SERVICE_NAME = 'metadata';
7
+ let RefreshServiceMetadatasSetTimeoutId = null;
7
8
  module.exports = {
8
9
  name: SERVICE_NAME,
9
10
  namespace: "steedos",
@@ -12,8 +13,8 @@ module.exports = {
12
13
  */
13
14
  settings: {},
14
15
  started() {
15
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- yield actionsHandler_1.started(this.broker);
16
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
17
+ yield (0, actionsHandler_1.started)(this.broker);
17
18
  });
18
19
  },
19
20
  /**
@@ -21,12 +22,12 @@ module.exports = {
21
22
  */
22
23
  methods: {
23
24
  refreshServiceMetadatas: function (ctx) {
24
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
25
26
  return yield actionsHandler_1.ActionHandlers.refreshServiceMetadatas(ctx);
26
27
  });
27
28
  },
28
29
  clearPackageServices: function (ctx) {
29
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
30
31
  const { offlinePackageServicesName } = ctx.params;
31
32
  // console.log(`$metadata.clearPackageServices`, offlinePackageServicesName)
32
33
  yield actionsHandler_1.ActionHandlers.clearPackageServices(ctx, offlinePackageServicesName);
@@ -36,7 +37,12 @@ module.exports = {
36
37
  },
37
38
  events: {
38
39
  "$services.changed"(ctx) {
39
- this.refreshServiceMetadatas(ctx);
40
+ if (RefreshServiceMetadatasSetTimeoutId) {
41
+ clearTimeout(RefreshServiceMetadatasSetTimeoutId);
42
+ }
43
+ RefreshServiceMetadatasSetTimeoutId = setTimeout(() => {
44
+ this.refreshServiceMetadatas(ctx);
45
+ }, 1000 * 5);
40
46
  },
41
47
  "$metadata.clearPackageServices"(ctx) {
42
48
  this.clearPackageServices(ctx);
@@ -48,42 +54,70 @@ module.exports = {
48
54
  actions: {
49
55
  get: {
50
56
  handler(ctx) {
51
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
52
58
  return yield actionsHandler_1.ActionHandlers.get(ctx);
53
59
  });
54
60
  }
55
61
  },
62
+ mget: {
63
+ handler(ctx) {
64
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
65
+ return yield actionsHandler_1.ActionHandlers.mget(ctx);
66
+ });
67
+ }
68
+ },
56
69
  filter: {
57
70
  handler(ctx) {
58
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
59
72
  return yield actionsHandler_1.ActionHandlers.filter(ctx);
60
73
  });
61
74
  }
62
75
  },
76
+ mfilter: {
77
+ handler(ctx) {
78
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
79
+ return yield actionsHandler_1.ActionHandlers.mfilter(ctx);
80
+ });
81
+ }
82
+ },
63
83
  add: {
64
84
  handler(ctx) {
65
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
85
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
66
86
  return yield actionsHandler_1.ActionHandlers.add(ctx);
67
87
  });
68
88
  }
69
89
  },
90
+ madd: {
91
+ handler(ctx) {
92
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
93
+ return yield actionsHandler_1.ActionHandlers.madd(ctx);
94
+ });
95
+ }
96
+ },
70
97
  addServiceMetadata: {
71
98
  handler(ctx) {
72
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
99
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
73
100
  return yield actionsHandler_1.ActionHandlers.addServiceMetadata(ctx);
74
101
  });
75
102
  }
76
103
  },
104
+ maddServiceMetadata: {
105
+ handler(ctx) {
106
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
107
+ return yield actionsHandler_1.ActionHandlers.maddServiceMetadata(ctx);
108
+ });
109
+ }
110
+ },
77
111
  delete: {
78
112
  handler(ctx) {
79
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
113
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
80
114
  return yield actionsHandler_1.ActionHandlers.delete(ctx);
81
115
  });
82
116
  }
83
117
  },
84
118
  fuzzyDelete: {
85
119
  handler(ctx) {
86
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
120
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
87
121
  return yield actionsHandler_1.ActionHandlers.fuzzyDelete(ctx);
88
122
  });
89
123
  }
@@ -93,14 +127,14 @@ module.exports = {
93
127
  offlinePackageServices: { type: "array", items: "string" },
94
128
  },
95
129
  handler(ctx) {
96
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
130
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
97
131
  return yield actionsHandler_1.ActionHandlers.refreshServiceMetadatas(ctx);
98
132
  });
99
133
  }
100
134
  },
101
135
  getServiceMetadatas: {
102
136
  handler(ctx) {
103
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
137
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
104
138
  return yield actionsHandler_1.ActionHandlers.getServiceMetadatas(ctx);
105
139
  });
106
140
  }
@@ -112,7 +146,7 @@ module.exports = {
112
146
  metadataApiName: { type: "string" },
113
147
  },
114
148
  handler(ctx) {
115
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
149
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
116
150
  return yield actionsHandler_1.ActionHandlers.getServiceMetadata(ctx);
117
151
  });
118
152
  }
@@ -124,7 +158,7 @@ module.exports = {
124
158
  metadataApiName: { type: "string" },
125
159
  },
126
160
  handler(ctx) {
127
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
161
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
128
162
  return yield actionsHandler_1.ActionHandlers.removeServiceMetadata(ctx);
129
163
  });
130
164
  }
@@ -134,8 +168,8 @@ module.exports = {
134
168
  * Service stopped lifecycle event handler
135
169
  */
136
170
  stopped() {
137
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
138
- yield actionsHandler_1.stopped(this.broker);
171
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
172
+ yield (0, actionsHandler_1.stopped)(this.broker);
139
173
  });
140
174
  }
141
175
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.service.js","sourceRoot":"","sources":["../src/metadata.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.service.js","sourceRoot":"","sources":["../src/metadata.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata",
3
- "version": "2.1.76",
3
+ "version": "2.1.83",
4
4
  "description": "",
5
5
  "main": "lib/metadata.service.js",
6
6
  "scripts": {
@@ -23,7 +23,6 @@
23
23
  "ioredis": "^4.22.0",
24
24
  "lodash": "^4.17.21",
25
25
  "moleculer": "^0.14.12",
26
- "moleculer-cli": "^0.7.1",
27
26
  "moleculer-web": "^0.9.0"
28
27
  },
29
28
  "devDependencies": {
@@ -40,5 +39,5 @@
40
39
  "publishConfig": {
41
40
  "access": "public"
42
41
  },
43
- "gitHead": "51e4a2340c3c5a79384bb0d364dfe2ee044c6d7a"
42
+ "gitHead": "c01cff5c71879fbcb900cf7457c173d6709f5b70"
44
43
  }
@@ -3,9 +3,37 @@ const PACKAGE_SERVICES_KEY = '$PACKAGE-SERVICES';
3
3
  const PACKAGE_SERVICE_PREFIX = '~packages-';
4
4
  const METADATA_SERVICES_PERFIX = '$METADATA-SERVICES';
5
5
  import * as _ from 'underscore';
6
+ import { map } from 'lodash';
6
7
 
7
8
  let savePackageServicesTimeoutID = null;
8
9
 
10
+ const useScan = true;
11
+
12
+ async function redisScanKeys(redisClient, match, count = 10000): Promise<Array<string>> {
13
+ if (!useScan) {
14
+ return await redisClient.keys(match);
15
+ } else {
16
+ return await new Promise((resolve, reject) => {
17
+ var stream = redisClient.scanStream({
18
+ // only returns keys following the pattern of `user:*`
19
+ match: match,
20
+ // returns approximately 100 elements per call
21
+ count: count
22
+ });
23
+
24
+ var keys = [];
25
+ stream.on('data', function (resultKeys) {
26
+ for (var i = 0; i < resultKeys.length; i++) {
27
+ keys.push(resultKeys[i]);
28
+ }
29
+ });
30
+ stream.on('end', function () {
31
+ resolve(keys)
32
+ });
33
+ })
34
+ }
35
+ }
36
+
9
37
  //////////////// mock for redis cacher ////////////////
10
38
  // let mockCacherData: string[] = [];
11
39
  // let mock_prefix = "";
@@ -84,6 +112,17 @@ function transformMetadata(ctx) {
84
112
  };
85
113
  }
86
114
 
115
+ function transformMetadatas(ctx) {
116
+ const data = {};
117
+ map(ctx.params.data, (value, key) => {
118
+ data[key] = {
119
+ ...ctx.meta.caller,
120
+ metadata: value,
121
+ }
122
+ })
123
+ return data;
124
+ }
125
+
87
126
  function getKey(key, keyPrefix) {
88
127
  return key.replace(keyPrefix, "");
89
128
  }
@@ -99,25 +138,11 @@ async function addServiceMetadata(ctx) {
99
138
  }
100
139
 
101
140
  const { metadataType, metadataApiName, metadataServiceName } = ctx.meta || { metadataType: undefined, metadataApiName: undefined, metadataServiceName: undefined };
102
- // if(metadataType){
103
- // console.log('saveServiceMetadataMap', metadataType, metadataApiName, metadataServiceName )
104
- // }
141
+
105
142
  if (!metadataServiceName) {
106
143
  return;
107
144
  }
108
145
  const key = getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName);
109
- if (false && metadataType === 'objects') {
110
- console.log(`addServiceMetadata`, key);
111
- }
112
- // let data = await ctx.broker.cacher.get(key);// REPLACE: await mockCacherGet(ctx, key);
113
- // let nodeIds = [];
114
- // if (data) {
115
- // if (data.nodeIds) {
116
- // nodeIds = data.nodeIds;
117
- // }
118
- // }
119
- // nodeIds.push(nodeID);
120
-
121
146
  await ctx.broker.cacher.set(key, {
122
147
  nodeIds: [nodeID],
123
148
  metadataType,
@@ -125,26 +150,95 @@ async function addServiceMetadata(ctx) {
125
150
  metadataServiceName,
126
151
  metadata: ctx.params.data,
127
152
  });
128
- // REPLACE:
129
- // await mockCacherSet(ctx, key, {
130
- // nodeIds: nodeIds,
131
- // metadataType,
132
- // metadataApiName,
133
- // metadata: ctx.params.data,
134
- // });
153
+ }
154
+
155
+ async function maddServiceMetadata(ctx) {
156
+ const { nodeID } = ctx.meta.caller || { nodeID: undefined };
157
+ if (!nodeID) {
158
+ console.log(`addServiceMetadata ctx.meta`, ctx.meta);
159
+ }
160
+
161
+ const { metadataType, metadataServiceName } = ctx.meta || { metadataType: undefined, metadataServiceName: undefined };
162
+
163
+ //data: {k1:v1, k2:v2}
164
+ const { data } = ctx.params
165
+
166
+ if (!metadataServiceName || !data) {
167
+ return;
168
+ }
169
+
170
+ const mdata = {};
171
+
172
+ map(data, (value, metadataApiName) => {
173
+ mdata[getServiceMetadataCacherKey(nodeID, metadataServiceName, metadataType, metadataApiName)] = {
174
+ nodeIds: [nodeID],
175
+ metadataType,
176
+ metadataApiName,
177
+ metadataServiceName,
178
+ metadata: value,
179
+ }
180
+ })
181
+
182
+ await mset(ctx, mdata);
183
+ }
184
+
185
+ async function mget(ctx, keys) {
186
+ if (!keys || keys.length == 0) {
187
+ return [];
188
+ }
189
+
190
+ const keyPrefix = ctx.broker.cacher?.prefix || "";
191
+
192
+ const values = await ctx.broker.cacher.client.mget(...map(keys, (key) => {
193
+ if (key && !key.startsWith(keyPrefix)) {
194
+ return `${keyPrefix}${key}`
195
+ } else {
196
+ return key
197
+ }
198
+ }));
199
+ const results = [];
200
+ _.map(values, (item) => {
201
+ try {
202
+ if (item) {
203
+ results.push(JSON.parse(item));
204
+ } else {
205
+ results.push(item);
206
+ }
207
+ } catch (error) {
208
+ results.push(item);
209
+ }
210
+ })
211
+ return results;
212
+ }
213
+
214
+ async function mset(ctx, data) {
215
+ if (_.isEmpty(data)) {
216
+ return;
217
+ }
218
+ const keyPrefix = ctx.broker.cacher?.prefix || "";
219
+ const mdata = {};
220
+ _.map(data, (v, k) => {
221
+ mdata[`${keyPrefix}${k}`] = JSON.stringify(v)
222
+ })
223
+ return await ctx.broker.cacher.client.mset(mdata);
135
224
  }
136
225
 
137
226
  // 这里需要更改
138
227
  async function query(ctx, queryKey) {
139
228
  try {
229
+ // const s = new Date().getTime();
140
230
  const keyPrefix = ctx.broker.cacher?.prefix || "";
141
- const keys = await ctx.broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
231
+ // const sk = new Date().getTime();
232
+ const keys = await redisScanKeys(ctx.broker.cacher.client, `${keyPrefix}${queryKey}`) //ctx.broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
233
+ // const dk = new Date().getTime() - sk;
234
+ // const sv = new Date().getTime();
142
235
  // REPLACE: const keys = await mockCacherKeys(ctx, `${keyPrefix}${queryKey}`) //TODO 此功能仅支持redis cache
143
- const values = [];
144
- for (const key of keys) {
145
- values.push(await ctx.broker.cacher.get(getKey(key, keyPrefix)));
146
- // REPLACE: values.push(await mockCacherGet(ctx, getKey(key, keyPrefix)));
147
- }
236
+ const values = _.compact(await mget(ctx, keys));
237
+ // const dv = new Date().getTime() - sv;
238
+ // const d = new Date().getTime() - s;
239
+ // if (d > Number(process.env.STEEDOS_DURATION)) {
240
+ // console.log(`query`, d, dk, dv, `${keyPrefix}${queryKey}`);
241
+ // }
148
242
  return values;
149
243
  } catch (error) {
150
244
  // console.error(`error`, error)
@@ -243,7 +337,7 @@ async function clearPackageServicesMetadatas(ctx, offlinePackageServices) {
243
337
  async function getMetadataServices(broker) {
244
338
  const queryKey = `${METADATA_SERVICES_PERFIX}.*`;
245
339
  const keyPrefix = broker.cacher?.prefix || "";
246
- const keys = await broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
340
+ const keys = await redisScanKeys(broker.cacher.client, `${keyPrefix}${queryKey}`) // broker.cacher.client.keys(`${keyPrefix}${queryKey}`); //TODO 此功能仅支持redis cache
247
341
  // REPLACE: const keys = await mockCacherKeys({broker,}, `${keyPrefix}${queryKey}`) //TODO 此功能仅支持redis cache
248
342
  const values = [];
249
343
  for (const key of keys) {
@@ -280,6 +374,14 @@ export const ActionHandlers = {
280
374
  }
281
375
  // REPLACE: return await mockCacherGet(ctx, ctx.params.key)
282
376
  },
377
+ async mget(ctx: any): Promise<any> {
378
+ try {
379
+ return await mget(ctx, ctx.params.keys);
380
+ } catch (error) {
381
+
382
+ }
383
+ // REPLACE: return await mockCacherGet(ctx, ctx.params.key)
384
+ },
283
385
  async filter(ctx: any): Promise<Array<any>> {
284
386
  return await query(ctx, ctx.params.key);
285
387
  // const keyPrefix = ctx.broker.cacher.prefix
@@ -290,28 +392,37 @@ export const ActionHandlers = {
290
392
  // }
291
393
  // return values;
292
394
  },
395
+ async mfilter(ctx: any): Promise<Array<any>> {
396
+ const values = [];
397
+ for (const key of ctx.params.keys) {
398
+ values.push(await query(ctx, key))
399
+ }
400
+ return values
401
+ },
293
402
  async add(ctx: any) {
294
403
  return await ctx.broker.cacher.set(ctx.params.key, transformMetadata(ctx));
295
404
  // REPLACE: return await mockCacherSet(ctx, ctx.params.key, transformMetadata(ctx));
296
405
  },
406
+ async madd(ctx) {
407
+ return await mset(ctx, transformMetadatas(ctx));
408
+ },
297
409
  async addServiceMetadata(ctx: any) {
298
410
  return await addServiceMetadata(ctx);
299
411
  },
412
+ async maddServiceMetadata(ctx: any) {
413
+ return await maddServiceMetadata(ctx);
414
+ },
300
415
  async fuzzyDelete(ctx: any){
301
416
  const { key } = ctx.params
302
417
  const keyPrefix = ctx.broker.cacher?.prefix || "";
303
- const keys = await ctx.broker.cacher.client.keys(`${keyPrefix}${key}`);
418
+ const keys = await redisScanKeys(ctx.broker.cacher.client, `${keyPrefix}${key}`) // await ctx.broker.cacher.client.keys(`${keyPrefix}${key}`);
304
419
  for (const _key of keys) {
305
420
  await ctx.broker.cacher.del(getKey(_key, keyPrefix));
306
421
  }
307
422
  },
308
423
  async delete(ctx: any) {
309
424
  try {
310
-
311
- if (ctx.broker.cacher.client.connected) {
312
- await ctx.broker.cacher.del(ctx.params.key);
313
- }
314
- // REPLACE: await mockCacherDel(ctx, ctx.params.key);
425
+ await ctx.broker.cacher.del(ctx.params.key);
315
426
  } catch (error) {
316
427
  ctx.broker.logger.info(error.message);
317
428
  }
@@ -4,6 +4,9 @@
4
4
  import { ActionHandlers, started, stopped } from './actionsHandler';
5
5
  import * as _ from 'underscore';
6
6
  const SERVICE_NAME = 'metadata';
7
+
8
+ let RefreshServiceMetadatasSetTimeoutId = null;
9
+
7
10
  module.exports = {
8
11
  name: SERVICE_NAME,
9
12
  namespace: "steedos",
@@ -33,7 +36,12 @@ module.exports = {
33
36
 
34
37
  events: {
35
38
  "$services.changed"(ctx) {
36
- this.refreshServiceMetadatas(ctx);
39
+ if (RefreshServiceMetadatasSetTimeoutId) {
40
+ clearTimeout(RefreshServiceMetadatasSetTimeoutId);
41
+ }
42
+ RefreshServiceMetadatasSetTimeoutId = setTimeout(() => {
43
+ this.refreshServiceMetadatas(ctx);
44
+ }, 1000 * 5)
37
45
  },
38
46
  "$metadata.clearPackageServices"(ctx) {
39
47
  this.clearPackageServices(ctx);
@@ -48,21 +56,41 @@ module.exports = {
48
56
  return await ActionHandlers.get(ctx);
49
57
  }
50
58
  },
59
+ mget: {
60
+ async handler(ctx) {
61
+ return await ActionHandlers.mget(ctx);
62
+ }
63
+ },
51
64
  filter: {
52
65
  async handler(ctx) {
53
66
  return await ActionHandlers.filter(ctx);
54
67
  }
55
68
  },
69
+ mfilter: {
70
+ async handler(ctx) {
71
+ return await ActionHandlers.mfilter(ctx);
72
+ }
73
+ },
56
74
  add: {
57
75
  async handler(ctx) {
58
76
  return await ActionHandlers.add(ctx);
59
77
  }
60
78
  },
79
+ madd: {
80
+ async handler(ctx) {
81
+ return await ActionHandlers.madd(ctx);
82
+ }
83
+ },
61
84
  addServiceMetadata: {
62
85
  async handler(ctx) {
63
86
  return await ActionHandlers.addServiceMetadata(ctx);
64
87
  }
65
88
  },
89
+ maddServiceMetadata: {
90
+ async handler(ctx) {
91
+ return await ActionHandlers.maddServiceMetadata(ctx);
92
+ }
93
+ },
66
94
  delete: {
67
95
  async handler(ctx) {
68
96
  return await ActionHandlers.delete(ctx);