@cadenza.io/service 2.2.4 → 2.3.1
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/index.js +51 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -270,8 +270,29 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
270
270
|
"Handle Instance Update",
|
|
271
271
|
(ctx, emit) => {
|
|
272
272
|
const { serviceInstance } = ctx;
|
|
273
|
-
const {
|
|
273
|
+
const {
|
|
274
|
+
uuid: uuid4,
|
|
275
|
+
serviceName,
|
|
276
|
+
address,
|
|
277
|
+
port,
|
|
278
|
+
exposed,
|
|
279
|
+
isFrontend,
|
|
280
|
+
deleted
|
|
281
|
+
} = serviceInstance;
|
|
274
282
|
if (uuid4 === this.serviceInstanceId) return;
|
|
283
|
+
if (deleted) {
|
|
284
|
+
this.instances.get(serviceName)?.splice(
|
|
285
|
+
this.instances.get(serviceName)?.findIndex((i) => i.uuid === uuid4) ?? -1,
|
|
286
|
+
1
|
|
287
|
+
);
|
|
288
|
+
if (this.instances.get(serviceName)?.length === 0) {
|
|
289
|
+
this.instances.delete(serviceName);
|
|
290
|
+
} else if (this.instances.get(serviceName)?.filter((i) => i.address === address && i.port === port).length === 0) {
|
|
291
|
+
emit(`meta.socket_shutdown_requested:${address}_${port}`, {});
|
|
292
|
+
emit(`meta.fetch.destroy_requested:${address}_${port}`, {});
|
|
293
|
+
}
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
275
296
|
if (!this.instances.has(serviceName))
|
|
276
297
|
this.instances.set(serviceName, []);
|
|
277
298
|
const instances = this.instances.get(serviceName);
|
|
@@ -322,7 +343,11 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
322
343
|
"meta.service_instance.inserted",
|
|
323
344
|
"meta.service_instance.updated",
|
|
324
345
|
"meta.socket_client.status_received"
|
|
325
|
-
).attachSignal(
|
|
346
|
+
).attachSignal(
|
|
347
|
+
"meta.service_registry.dependee_registered",
|
|
348
|
+
"meta.socket_shutdown_requested",
|
|
349
|
+
"meta.fetch.destroy_requested"
|
|
350
|
+
);
|
|
326
351
|
CadenzaService.createMetaTask("Split service instances", function* (ctx) {
|
|
327
352
|
if (!ctx.serviceInstances) {
|
|
328
353
|
return;
|
|
@@ -410,7 +435,7 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
410
435
|
this.handleServiceHandshakeTask = CadenzaService.createMetaTask(
|
|
411
436
|
"Handle service handshake",
|
|
412
437
|
(ctx, emit) => {
|
|
413
|
-
const { serviceName, serviceInstanceId } = ctx;
|
|
438
|
+
const { serviceName, serviceInstanceId, serviceAddress, servicePort } = ctx;
|
|
414
439
|
const serviceInstances = this.instances.get(serviceName);
|
|
415
440
|
const instance = serviceInstances?.find(
|
|
416
441
|
(i) => i.uuid === serviceInstanceId
|
|
@@ -429,10 +454,29 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
429
454
|
uuid: instance.uuid
|
|
430
455
|
}
|
|
431
456
|
});
|
|
457
|
+
const instancesToDelete = serviceInstances?.filter(
|
|
458
|
+
(i) => i.uuid !== serviceInstanceId && i.address === serviceAddress && i.port === servicePort
|
|
459
|
+
);
|
|
460
|
+
for (const i of instancesToDelete ?? []) {
|
|
461
|
+
this.instances.get(serviceName)?.splice(this.instances.get(serviceName)?.indexOf(i) ?? -1, 1);
|
|
462
|
+
emit("global.meta.service_registry.deleted", {
|
|
463
|
+
data: {
|
|
464
|
+
isActive: false,
|
|
465
|
+
isNonResponsive: false,
|
|
466
|
+
deleted: true
|
|
467
|
+
},
|
|
468
|
+
filter: {
|
|
469
|
+
uuid: i.uuid
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
432
473
|
return true;
|
|
433
474
|
},
|
|
434
475
|
"Handles service handshake"
|
|
435
|
-
).doOn("meta.fetch.handshake_complete").attachSignal(
|
|
476
|
+
).doOn("meta.fetch.handshake_complete").attachSignal(
|
|
477
|
+
"global.meta.service_registry.service_handshake",
|
|
478
|
+
"global.meta.service_registry.deleted"
|
|
479
|
+
);
|
|
436
480
|
this.handleSocketStatusUpdateTask = CadenzaService.createMetaTask(
|
|
437
481
|
"Handle Socket Status Update",
|
|
438
482
|
(ctx) => {
|
|
@@ -1208,7 +1252,7 @@ var RestController = class _RestController {
|
|
|
1208
1252
|
CadenzaService.createMetaTask(
|
|
1209
1253
|
"Configure network",
|
|
1210
1254
|
async (ctx) => {
|
|
1211
|
-
let address = "
|
|
1255
|
+
let address = "undefined";
|
|
1212
1256
|
let port = ctx.__port;
|
|
1213
1257
|
let exposed = false;
|
|
1214
1258
|
const createHttpServer = async (ctx2) => {
|
|
@@ -1225,7 +1269,7 @@ var RestController = class _RestController {
|
|
|
1225
1269
|
address = process.env.CADENZA_SERVER_URL || "localhost";
|
|
1226
1270
|
}
|
|
1227
1271
|
} else {
|
|
1228
|
-
address = server?.address()?.address || "";
|
|
1272
|
+
address = server?.address()?.address || "undefined";
|
|
1229
1273
|
}
|
|
1230
1274
|
console.log(
|
|
1231
1275
|
`Server is running on ${address}:${port}`
|
|
@@ -1512,7 +1556,7 @@ var RestController = class _RestController {
|
|
|
1512
1556
|
transmitTask.destroy();
|
|
1513
1557
|
statusTask.destroy();
|
|
1514
1558
|
}).doOn(
|
|
1515
|
-
|
|
1559
|
+
`meta.fetch.destroy_requested:${fetchId}`,
|
|
1516
1560
|
`meta.socket_client.disconnected:${fetchId}`,
|
|
1517
1561
|
`meta.fetch.handshake_failed:${fetchId}`
|
|
1518
1562
|
).emits("meta.fetch.destroyed");
|