@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.js
CHANGED
|
@@ -318,8 +318,29 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
318
318
|
"Handle Instance Update",
|
|
319
319
|
(ctx, emit) => {
|
|
320
320
|
const { serviceInstance } = ctx;
|
|
321
|
-
const {
|
|
321
|
+
const {
|
|
322
|
+
uuid: uuid4,
|
|
323
|
+
serviceName,
|
|
324
|
+
address,
|
|
325
|
+
port,
|
|
326
|
+
exposed,
|
|
327
|
+
isFrontend,
|
|
328
|
+
deleted
|
|
329
|
+
} = serviceInstance;
|
|
322
330
|
if (uuid4 === this.serviceInstanceId) return;
|
|
331
|
+
if (deleted) {
|
|
332
|
+
this.instances.get(serviceName)?.splice(
|
|
333
|
+
this.instances.get(serviceName)?.findIndex((i) => i.uuid === uuid4) ?? -1,
|
|
334
|
+
1
|
|
335
|
+
);
|
|
336
|
+
if (this.instances.get(serviceName)?.length === 0) {
|
|
337
|
+
this.instances.delete(serviceName);
|
|
338
|
+
} else if (this.instances.get(serviceName)?.filter((i) => i.address === address && i.port === port).length === 0) {
|
|
339
|
+
emit(`meta.socket_shutdown_requested:${address}_${port}`, {});
|
|
340
|
+
emit(`meta.fetch.destroy_requested:${address}_${port}`, {});
|
|
341
|
+
}
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
323
344
|
if (!this.instances.has(serviceName))
|
|
324
345
|
this.instances.set(serviceName, []);
|
|
325
346
|
const instances = this.instances.get(serviceName);
|
|
@@ -370,7 +391,11 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
370
391
|
"meta.service_instance.inserted",
|
|
371
392
|
"meta.service_instance.updated",
|
|
372
393
|
"meta.socket_client.status_received"
|
|
373
|
-
).attachSignal(
|
|
394
|
+
).attachSignal(
|
|
395
|
+
"meta.service_registry.dependee_registered",
|
|
396
|
+
"meta.socket_shutdown_requested",
|
|
397
|
+
"meta.fetch.destroy_requested"
|
|
398
|
+
);
|
|
374
399
|
CadenzaService.createMetaTask("Split service instances", function* (ctx) {
|
|
375
400
|
if (!ctx.serviceInstances) {
|
|
376
401
|
return;
|
|
@@ -458,7 +483,7 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
458
483
|
this.handleServiceHandshakeTask = CadenzaService.createMetaTask(
|
|
459
484
|
"Handle service handshake",
|
|
460
485
|
(ctx, emit) => {
|
|
461
|
-
const { serviceName, serviceInstanceId } = ctx;
|
|
486
|
+
const { serviceName, serviceInstanceId, serviceAddress, servicePort } = ctx;
|
|
462
487
|
const serviceInstances = this.instances.get(serviceName);
|
|
463
488
|
const instance = serviceInstances?.find(
|
|
464
489
|
(i) => i.uuid === serviceInstanceId
|
|
@@ -477,10 +502,29 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
477
502
|
uuid: instance.uuid
|
|
478
503
|
}
|
|
479
504
|
});
|
|
505
|
+
const instancesToDelete = serviceInstances?.filter(
|
|
506
|
+
(i) => i.uuid !== serviceInstanceId && i.address === serviceAddress && i.port === servicePort
|
|
507
|
+
);
|
|
508
|
+
for (const i of instancesToDelete ?? []) {
|
|
509
|
+
this.instances.get(serviceName)?.splice(this.instances.get(serviceName)?.indexOf(i) ?? -1, 1);
|
|
510
|
+
emit("global.meta.service_registry.deleted", {
|
|
511
|
+
data: {
|
|
512
|
+
isActive: false,
|
|
513
|
+
isNonResponsive: false,
|
|
514
|
+
deleted: true
|
|
515
|
+
},
|
|
516
|
+
filter: {
|
|
517
|
+
uuid: i.uuid
|
|
518
|
+
}
|
|
519
|
+
});
|
|
520
|
+
}
|
|
480
521
|
return true;
|
|
481
522
|
},
|
|
482
523
|
"Handles service handshake"
|
|
483
|
-
).doOn("meta.fetch.handshake_complete").attachSignal(
|
|
524
|
+
).doOn("meta.fetch.handshake_complete").attachSignal(
|
|
525
|
+
"global.meta.service_registry.service_handshake",
|
|
526
|
+
"global.meta.service_registry.deleted"
|
|
527
|
+
);
|
|
484
528
|
this.handleSocketStatusUpdateTask = CadenzaService.createMetaTask(
|
|
485
529
|
"Handle Socket Status Update",
|
|
486
530
|
(ctx) => {
|
|
@@ -1256,7 +1300,7 @@ var RestController = class _RestController {
|
|
|
1256
1300
|
CadenzaService.createMetaTask(
|
|
1257
1301
|
"Configure network",
|
|
1258
1302
|
async (ctx) => {
|
|
1259
|
-
let address = "
|
|
1303
|
+
let address = "undefined";
|
|
1260
1304
|
let port = ctx.__port;
|
|
1261
1305
|
let exposed = false;
|
|
1262
1306
|
const createHttpServer = async (ctx2) => {
|
|
@@ -1273,7 +1317,7 @@ var RestController = class _RestController {
|
|
|
1273
1317
|
address = process.env.CADENZA_SERVER_URL || "localhost";
|
|
1274
1318
|
}
|
|
1275
1319
|
} else {
|
|
1276
|
-
address = server?.address()?.address || "";
|
|
1320
|
+
address = server?.address()?.address || "undefined";
|
|
1277
1321
|
}
|
|
1278
1322
|
console.log(
|
|
1279
1323
|
`Server is running on ${address}:${port}`
|
|
@@ -1560,7 +1604,7 @@ var RestController = class _RestController {
|
|
|
1560
1604
|
transmitTask.destroy();
|
|
1561
1605
|
statusTask.destroy();
|
|
1562
1606
|
}).doOn(
|
|
1563
|
-
|
|
1607
|
+
`meta.fetch.destroy_requested:${fetchId}`,
|
|
1564
1608
|
`meta.socket_client.disconnected:${fetchId}`,
|
|
1565
1609
|
`meta.fetch.handshake_failed:${fetchId}`
|
|
1566
1610
|
).emits("meta.fetch.destroyed");
|