@cadenza.io/service 1.13.9 → 1.15.0
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.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +179 -88
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +179 -88
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -158,6 +158,7 @@ declare class ServiceRegistry {
|
|
|
158
158
|
private remoteSignals;
|
|
159
159
|
serviceName: string | null;
|
|
160
160
|
serviceInstanceId: string | null;
|
|
161
|
+
numberOfRunningGraphs: number;
|
|
161
162
|
useSocket: boolean;
|
|
162
163
|
retryCount: number;
|
|
163
164
|
handleInstanceUpdateTask: Task;
|
|
@@ -169,13 +170,14 @@ declare class ServiceRegistry {
|
|
|
169
170
|
doForEachInstance: Task;
|
|
170
171
|
deleteInstance: Task;
|
|
171
172
|
getBalancedInstance: Task;
|
|
172
|
-
updateInstanceId: Task;
|
|
173
173
|
getInstanceById: Task;
|
|
174
174
|
getInstancesByServiceName: Task;
|
|
175
175
|
handleDeputyRegistrationTask: Task;
|
|
176
176
|
getStatusTask: Task;
|
|
177
177
|
insertServiceTask: Task;
|
|
178
178
|
insertServiceInstanceTask: Task;
|
|
179
|
+
handleServiceNotRespondingTask: Task;
|
|
180
|
+
handleServiceHandshakeTask: Task;
|
|
179
181
|
private constructor();
|
|
180
182
|
reset(): void;
|
|
181
183
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -158,6 +158,7 @@ declare class ServiceRegistry {
|
|
|
158
158
|
private remoteSignals;
|
|
159
159
|
serviceName: string | null;
|
|
160
160
|
serviceInstanceId: string | null;
|
|
161
|
+
numberOfRunningGraphs: number;
|
|
161
162
|
useSocket: boolean;
|
|
162
163
|
retryCount: number;
|
|
163
164
|
handleInstanceUpdateTask: Task;
|
|
@@ -169,13 +170,14 @@ declare class ServiceRegistry {
|
|
|
169
170
|
doForEachInstance: Task;
|
|
170
171
|
deleteInstance: Task;
|
|
171
172
|
getBalancedInstance: Task;
|
|
172
|
-
updateInstanceId: Task;
|
|
173
173
|
getInstanceById: Task;
|
|
174
174
|
getInstancesByServiceName: Task;
|
|
175
175
|
handleDeputyRegistrationTask: Task;
|
|
176
176
|
getStatusTask: Task;
|
|
177
177
|
insertServiceTask: Task;
|
|
178
178
|
insertServiceInstanceTask: Task;
|
|
179
|
+
handleServiceNotRespondingTask: Task;
|
|
180
|
+
handleServiceHandshakeTask: Task;
|
|
179
181
|
private constructor();
|
|
180
182
|
reset(): void;
|
|
181
183
|
}
|
package/dist/index.js
CHANGED
|
@@ -238,11 +238,13 @@ var DeputyTask = class extends import_core.Task {
|
|
|
238
238
|
__localTaskName: this.name,
|
|
239
239
|
__remoteRoutineName: this.remoteRoutineName,
|
|
240
240
|
__serviceName: this.serviceName,
|
|
241
|
+
__localRoutineExecId: metadata.__routineExecId,
|
|
241
242
|
__executionTraceId: (_a2 = metadata.__executionTraceId) != null ? _a2 : null,
|
|
242
243
|
__metadata: __spreadProps(__spreadValues({}, metadata), {
|
|
243
244
|
__deputyTaskName: this.name
|
|
244
245
|
})
|
|
245
246
|
}, ctx);
|
|
247
|
+
console.log("DEPUTY CONTEXT", deputyContext);
|
|
246
248
|
return this.taskFunction(deputyContext, emit, progressCallback);
|
|
247
249
|
}
|
|
248
250
|
};
|
|
@@ -340,6 +342,7 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
340
342
|
this.remoteSignals = /* @__PURE__ */ new Map();
|
|
341
343
|
this.serviceName = null;
|
|
342
344
|
this.serviceInstanceId = null;
|
|
345
|
+
this.numberOfRunningGraphs = 0;
|
|
343
346
|
this.useSocket = false;
|
|
344
347
|
this.retryCount = 3;
|
|
345
348
|
this.handleInstanceUpdateTask = CadenzaService.createMetaTask(
|
|
@@ -400,13 +403,14 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
400
403
|
}
|
|
401
404
|
return true;
|
|
402
405
|
},
|
|
403
|
-
"Handles instance
|
|
406
|
+
"Handles instance updates to service instances"
|
|
404
407
|
).emits("meta.service_registry.service_discovered").doOn(
|
|
405
408
|
"meta.initializing_service",
|
|
406
409
|
"CadenzaDB.meta.service_instance.inserted",
|
|
407
410
|
"CadenzaDB.meta.service_instance.updated",
|
|
408
411
|
"meta.service_instance.inserted",
|
|
409
|
-
"meta.service_instance.updated"
|
|
412
|
+
"meta.service_instance.updated",
|
|
413
|
+
"meta.socket_client.status_received"
|
|
410
414
|
);
|
|
411
415
|
this.handleRemoteSignalRegistrationTask = CadenzaService.createMetaTask(
|
|
412
416
|
"Handle Remote Signal Registration",
|
|
@@ -457,6 +461,63 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
457
461
|
"meta.register_remote_signals_requested",
|
|
458
462
|
"meta.fetch.handshake_complete"
|
|
459
463
|
);
|
|
464
|
+
this.handleServiceNotRespondingTask = CadenzaService.createMetaTask(
|
|
465
|
+
"Handle service not responding",
|
|
466
|
+
(ctx, emit) => {
|
|
467
|
+
const { serviceName, serviceAddress, servicePort } = ctx;
|
|
468
|
+
const serviceInstances = this.instances.get(serviceName);
|
|
469
|
+
const instances = serviceInstances == null ? void 0 : serviceInstances.filter(
|
|
470
|
+
(i) => i.address === serviceAddress && i.port === servicePort
|
|
471
|
+
);
|
|
472
|
+
for (const instance of instances != null ? instances : []) {
|
|
473
|
+
instance.isActive = false;
|
|
474
|
+
instance.isNonResponsive = true;
|
|
475
|
+
instance.clientCreated = false;
|
|
476
|
+
emit("meta.service_registry.service_not_responding", {
|
|
477
|
+
data: {
|
|
478
|
+
isActive: false,
|
|
479
|
+
isNonResponsive: true
|
|
480
|
+
},
|
|
481
|
+
filter: {
|
|
482
|
+
uuid: instance.uuid
|
|
483
|
+
}
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
return true;
|
|
487
|
+
},
|
|
488
|
+
"Handles service not responding"
|
|
489
|
+
).doOn("meta.fetch.handshake_failed", "meta.socket_client.disconnected");
|
|
490
|
+
this.handleServiceHandshakeTask = CadenzaService.createMetaTask(
|
|
491
|
+
"Handle service handshake",
|
|
492
|
+
(ctx, emit) => {
|
|
493
|
+
const { serviceName, serviceAddress, servicePort, serviceInstanceId } = ctx;
|
|
494
|
+
console.log(
|
|
495
|
+
"SERVICE HANDSHAKE",
|
|
496
|
+
serviceName,
|
|
497
|
+
serviceAddress,
|
|
498
|
+
servicePort,
|
|
499
|
+
serviceInstanceId,
|
|
500
|
+
this.instances.get(serviceName)
|
|
501
|
+
);
|
|
502
|
+
const serviceInstances = this.instances.get(serviceName);
|
|
503
|
+
const instances = serviceInstances == null ? void 0 : serviceInstances.filter(
|
|
504
|
+
(i) => i.address === serviceAddress && i.port === servicePort
|
|
505
|
+
);
|
|
506
|
+
for (const instance of instances != null ? instances : []) {
|
|
507
|
+
emit("meta.service_registry.service_handshake", {
|
|
508
|
+
data: {
|
|
509
|
+
isActive: instance.isActive,
|
|
510
|
+
isNonResponsive: instance.isNonResponsive
|
|
511
|
+
},
|
|
512
|
+
filter: {
|
|
513
|
+
uuid: instance.uuid
|
|
514
|
+
}
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
return true;
|
|
518
|
+
},
|
|
519
|
+
"Handles service handshake"
|
|
520
|
+
).doOn("meta.fetch.handshake_complete");
|
|
460
521
|
this.handleSocketStatusUpdateTask = CadenzaService.createMetaTask(
|
|
461
522
|
"Handle Socket Status Update",
|
|
462
523
|
(ctx) => {
|
|
@@ -491,7 +552,7 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
491
552
|
"exposed",
|
|
492
553
|
"created"
|
|
493
554
|
]
|
|
494
|
-
}).doOn("meta.sync_requested").then(
|
|
555
|
+
}).doOn("meta.sync_requested").emits("meta.service_registry.synced_instances").then(
|
|
495
556
|
CadenzaService.createMetaTask(
|
|
496
557
|
"Split service instances",
|
|
497
558
|
function* (ctx) {
|
|
@@ -503,18 +564,6 @@ var ServiceRegistry = class _ServiceRegistry {
|
|
|
503
564
|
}
|
|
504
565
|
).then(this.handleInstanceUpdateTask)
|
|
505
566
|
);
|
|
506
|
-
this.updateInstanceId = CadenzaService.createMetaTask(
|
|
507
|
-
"Update instance id",
|
|
508
|
-
(context) => {
|
|
509
|
-
const { __id, __oldId } = context;
|
|
510
|
-
const instance = this.instances.get(__oldId);
|
|
511
|
-
if (!instance) return context;
|
|
512
|
-
this.instances.set(__id, instance);
|
|
513
|
-
this.instances.delete(__oldId);
|
|
514
|
-
return context;
|
|
515
|
-
},
|
|
516
|
-
"Updates instance id."
|
|
517
|
-
).doOn("meta.service.global_id_set");
|
|
518
567
|
this.getInstanceById = CadenzaService.createMetaTask(
|
|
519
568
|
"Get instance by id",
|
|
520
569
|
(context) => {
|
|
@@ -1048,7 +1097,10 @@ var RestController = class _RestController {
|
|
|
1048
1097
|
try {
|
|
1049
1098
|
console.log("handshake", req.body);
|
|
1050
1099
|
CadenzaService.broker.emit("meta.rest.handshake", req.body);
|
|
1051
|
-
res.send({
|
|
1100
|
+
res.send({
|
|
1101
|
+
__status: "success",
|
|
1102
|
+
__serviceInstanceId: CadenzaService.serviceRegistry.serviceInstanceId
|
|
1103
|
+
});
|
|
1052
1104
|
} catch (e) {
|
|
1053
1105
|
console.error("Error in handshake", e);
|
|
1054
1106
|
res.send({ __status: "error" });
|
|
@@ -1123,7 +1175,7 @@ var RestController = class _RestController {
|
|
|
1123
1175
|
).doAfter(CadenzaService.serviceRegistry.getStatusTask);
|
|
1124
1176
|
CadenzaService.broker.emit(
|
|
1125
1177
|
"meta.rest.status_check_requested",
|
|
1126
|
-
req.query
|
|
1178
|
+
req.body.query
|
|
1127
1179
|
);
|
|
1128
1180
|
});
|
|
1129
1181
|
return true;
|
|
@@ -1172,6 +1224,8 @@ var RestController = class _RestController {
|
|
|
1172
1224
|
};
|
|
1173
1225
|
const httpsServer = import_node_https.default.createServer(options, ctx2.__app);
|
|
1174
1226
|
ctx2.__httpsServer = httpsServer;
|
|
1227
|
+
ctx2.__port = 443;
|
|
1228
|
+
port = 443;
|
|
1175
1229
|
httpsServer.listen(443, () => {
|
|
1176
1230
|
var _a2, _b2;
|
|
1177
1231
|
if (typeof (httpsServer == null ? void 0 : httpsServer.address()) === "string") {
|
|
@@ -1231,7 +1285,7 @@ var RestController = class _RestController {
|
|
|
1231
1285
|
const URL = `${protocol}://${serviceAddress}:${port}`;
|
|
1232
1286
|
const fetchId = `${serviceAddress}_${port}`;
|
|
1233
1287
|
console.log("Fetch connecting to", URL);
|
|
1234
|
-
CadenzaService.createMetaTask(
|
|
1288
|
+
const handshakeTask = CadenzaService.createMetaTask(
|
|
1235
1289
|
`Send Handshake to ${URL}`,
|
|
1236
1290
|
(ctx2, emit2) => __async(null, null, function* () {
|
|
1237
1291
|
var _a2;
|
|
@@ -1245,11 +1299,13 @@ var RestController = class _RestController {
|
|
|
1245
1299
|
});
|
|
1246
1300
|
const result = yield response.json();
|
|
1247
1301
|
console.log("Handshake result", result);
|
|
1248
|
-
if (result.__status
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
);
|
|
1302
|
+
if (result.__status !== "success") {
|
|
1303
|
+
const error = (_a2 = result.__error) != null ? _a2 : `Failed to connect to service ${serviceName} ${ctx2.serviceInstanceId}`;
|
|
1304
|
+
console.error(error);
|
|
1305
|
+
emit2(`meta.fetch.handshake_failed:${fetchId}`, result);
|
|
1306
|
+
return __spreadProps(__spreadValues({}, ctx2), { __error: error, errored: true });
|
|
1252
1307
|
}
|
|
1308
|
+
ctx2.serviceInstanceId = result.__serviceInstanceId;
|
|
1253
1309
|
console.log(`Connected to service ${serviceName} ${URL}`, result);
|
|
1254
1310
|
for (const communicationType of ctx2.communicationTypes) {
|
|
1255
1311
|
emit2("meta.fetch.service_communication_established", {
|
|
@@ -1260,17 +1316,11 @@ var RestController = class _RestController {
|
|
|
1260
1316
|
}
|
|
1261
1317
|
});
|
|
1262
1318
|
}
|
|
1263
|
-
return
|
|
1319
|
+
return ctx2;
|
|
1264
1320
|
}),
|
|
1265
|
-
"Sends handshake request"
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
retryDelay: 200,
|
|
1269
|
-
retryDelayMax: 5e3,
|
|
1270
|
-
retryDelayFactor: 1.5
|
|
1271
|
-
}
|
|
1272
|
-
).doOn(`meta.fetch.handshake_requested:${fetchId}`).emits("meta.fetch.handshake_complete").emitsOnFail("meta.fetch.handshake_failed");
|
|
1273
|
-
CadenzaService.createMetaTask(
|
|
1321
|
+
"Sends handshake request"
|
|
1322
|
+
).doOn(`meta.fetch.handshake_requested:${fetchId}`).emits("meta.fetch.handshake_complete");
|
|
1323
|
+
const delegateTask = CadenzaService.createMetaTask(
|
|
1274
1324
|
`Delegate flow to REST server ${URL}`,
|
|
1275
1325
|
(ctx2, emit2) => __async(null, null, function* () {
|
|
1276
1326
|
if (ctx2.__remoteRoutineName === void 0) {
|
|
@@ -1305,7 +1355,7 @@ var RestController = class _RestController {
|
|
|
1305
1355
|
`meta.service_registry.selected_instance_for_fetch:${fetchId}`,
|
|
1306
1356
|
`meta.service_registry.socket_failed:${fetchId}`
|
|
1307
1357
|
).emitsOnFail("meta.fetch.delegate_failed");
|
|
1308
|
-
CadenzaService.createMetaTask(
|
|
1358
|
+
const transmitTask = CadenzaService.createMetaTask(
|
|
1309
1359
|
`Transmit signal to server ${URL}`,
|
|
1310
1360
|
(ctx2, emit2) => __async(null, null, function* () {
|
|
1311
1361
|
if (ctx2.__signalName === void 0) {
|
|
@@ -1339,12 +1389,14 @@ var RestController = class _RestController {
|
|
|
1339
1389
|
`meta.signal_controller.remote_signal_registered:${serviceName}`,
|
|
1340
1390
|
"meta.signal_controller.wildcard_signal_registered"
|
|
1341
1391
|
).emitsOnFail("meta.fetch.signal_transmission_failed");
|
|
1342
|
-
CadenzaService.createMetaTask(
|
|
1392
|
+
const statusTask = CadenzaService.createMetaTask(
|
|
1343
1393
|
`Request status from ${URL}`,
|
|
1344
1394
|
(ctx2) => __async(null, null, function* () {
|
|
1345
1395
|
let status;
|
|
1346
1396
|
try {
|
|
1347
|
-
const response = yield (0, import_node_fetch.default)(`${URL}/status`, {
|
|
1397
|
+
const response = yield (0, import_node_fetch.default)(`${URL}/status`, {
|
|
1398
|
+
method: "GET"
|
|
1399
|
+
});
|
|
1348
1400
|
status = yield response.json();
|
|
1349
1401
|
} catch (e) {
|
|
1350
1402
|
status = __spreadValues({
|
|
@@ -1356,6 +1408,17 @@ var RestController = class _RestController {
|
|
|
1356
1408
|
}),
|
|
1357
1409
|
"Requests status"
|
|
1358
1410
|
).doOn("meta.fetch.status_check_requested").emits("meta.fetch.status_checked").emitsOnFail("meta.fetch.status_check_failed");
|
|
1411
|
+
CadenzaService.createEphemeralMetaTask("Destroy fetch client", (ctx2, emit2) => {
|
|
1412
|
+
console.log("Destroying fetch client");
|
|
1413
|
+
handshakeTask.destroy();
|
|
1414
|
+
delegateTask.destroy();
|
|
1415
|
+
transmitTask.destroy();
|
|
1416
|
+
statusTask.destroy();
|
|
1417
|
+
}).doOn(
|
|
1418
|
+
"meta.fetch.destroy_requested",
|
|
1419
|
+
`meta.socket_client.disconnected:${fetchId}`,
|
|
1420
|
+
`meta.fetch.handshake_failed:${fetchId}`
|
|
1421
|
+
).emits("meta.fetch.destroyed");
|
|
1359
1422
|
return true;
|
|
1360
1423
|
},
|
|
1361
1424
|
"Manages REST client requests as fallback"
|
|
@@ -1368,13 +1431,17 @@ var RestController = class _RestController {
|
|
|
1368
1431
|
serviceInstanceId,
|
|
1369
1432
|
communicationTypes,
|
|
1370
1433
|
serviceAddress,
|
|
1371
|
-
servicePort
|
|
1434
|
+
servicePort,
|
|
1435
|
+
protocol
|
|
1372
1436
|
} = ctx;
|
|
1373
1437
|
const fetchId = `${serviceAddress}_${servicePort}`;
|
|
1374
1438
|
emit(`meta.fetch.handshake_requested:${fetchId}`, {
|
|
1375
1439
|
serviceInstanceId,
|
|
1376
1440
|
serviceName,
|
|
1377
1441
|
communicationTypes,
|
|
1442
|
+
serviceAddress,
|
|
1443
|
+
servicePort,
|
|
1444
|
+
protocol,
|
|
1378
1445
|
handshakeData: {
|
|
1379
1446
|
instanceId: CadenzaService.serviceRegistry.serviceInstanceId
|
|
1380
1447
|
// JWT token...
|
|
@@ -1565,6 +1632,7 @@ var SocketController = class _SocketController {
|
|
|
1565
1632
|
const port = protocol === "https" ? 443 : servicePort;
|
|
1566
1633
|
const URL = `${socketProtocol}://${serviceAddress}:${port}`;
|
|
1567
1634
|
const fetchId = `${serviceAddress}_${port}`;
|
|
1635
|
+
console.log("SocketClient: Connecting to", serviceName, URL);
|
|
1568
1636
|
const socket = (0, import_socket2.io)(URL, {
|
|
1569
1637
|
reconnection: true,
|
|
1570
1638
|
reconnectionAttempts: 20,
|
|
@@ -1573,7 +1641,6 @@ var SocketController = class _SocketController {
|
|
|
1573
1641
|
randomizationFactor: 0.5,
|
|
1574
1642
|
retries: 5
|
|
1575
1643
|
});
|
|
1576
|
-
console.log("SocketClient: Connecting to", URL);
|
|
1577
1644
|
socket.on("connect", () => {
|
|
1578
1645
|
console.log("SocketClient: CONNECTED");
|
|
1579
1646
|
CadenzaService.broker.emit("meta.socket_client.connected", ctx);
|
|
@@ -1601,72 +1668,94 @@ var SocketController = class _SocketController {
|
|
|
1601
1668
|
});
|
|
1602
1669
|
socket.on("disconnect", () => {
|
|
1603
1670
|
console.log("SocketClient: Disconnected", URL);
|
|
1604
|
-
CadenzaService.broker.emit(
|
|
1605
|
-
|
|
1671
|
+
CadenzaService.broker.emit(`meta.socket_client.disconnected:${fetchId}`, {
|
|
1672
|
+
serviceName,
|
|
1673
|
+
serviceAddress,
|
|
1674
|
+
servicePort
|
|
1606
1675
|
});
|
|
1607
1676
|
});
|
|
1608
|
-
CadenzaService.createMetaTask(
|
|
1677
|
+
const delegateTask = CadenzaService.createMetaTask(
|
|
1609
1678
|
`Delegate flow to ${URL}`,
|
|
1610
1679
|
(ctx2, emit) => __async(null, null, function* () {
|
|
1611
1680
|
if (ctx2.__remoteRoutineName === void 0) {
|
|
1612
1681
|
return;
|
|
1613
1682
|
}
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1683
|
+
return new Promise((resolve, reject) => {
|
|
1684
|
+
console.log("Socket Delegate:", ctx2);
|
|
1685
|
+
socket.timeout(1e4).emit(
|
|
1686
|
+
"delegation",
|
|
1687
|
+
ctx2,
|
|
1688
|
+
(err, resultContext) => {
|
|
1689
|
+
if (err) {
|
|
1690
|
+
console.log("socket error:", err);
|
|
1691
|
+
resultContext = __spreadValues(__spreadValues({
|
|
1692
|
+
__error: `Timeout error: ${err}`,
|
|
1693
|
+
errored: true
|
|
1694
|
+
}, ctx2), ctx2.__metadata);
|
|
1695
|
+
emit(`meta.socket_client.delegate_failed`, resultContext);
|
|
1696
|
+
resolve(resultContext);
|
|
1697
|
+
return;
|
|
1698
|
+
}
|
|
1699
|
+
const metadata = resultContext.__metadata;
|
|
1700
|
+
delete resultContext.__metadata;
|
|
1701
|
+
emit(
|
|
1702
|
+
`meta.socket_client.delegated:${ctx2.__metadata.__deputyExecId}`,
|
|
1703
|
+
__spreadValues(__spreadValues({}, resultContext), metadata)
|
|
1704
|
+
);
|
|
1705
|
+
resolve(resultContext);
|
|
1706
|
+
}
|
|
1630
1707
|
);
|
|
1631
1708
|
});
|
|
1632
1709
|
}),
|
|
1633
1710
|
`Delegate flow to service ${serviceName} with address ${URL}`
|
|
1634
1711
|
).doOn(`meta.service_registry.selected_instance_for_socket:${fetchId}`);
|
|
1635
|
-
CadenzaService.createMetaTask(
|
|
1712
|
+
const transmitTask = CadenzaService.createMetaTask(
|
|
1636
1713
|
`Transmit signal to ${URL}`,
|
|
1637
1714
|
(ctx2, emit) => __async(null, null, function* () {
|
|
1638
|
-
var _a2;
|
|
1639
1715
|
if (ctx2.__signalName === void 0) {
|
|
1640
1716
|
return;
|
|
1641
1717
|
}
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1718
|
+
return new Promise((resolve, reject) => {
|
|
1719
|
+
var _a2;
|
|
1720
|
+
socket.timeout((_a2 = ctx2.__timeout) != null ? _a2 : 1e4).emit("signal", ctx2, (err, response) => {
|
|
1721
|
+
if (err) {
|
|
1722
|
+
console.log("socket error:", err);
|
|
1723
|
+
response = __spreadValues(__spreadValues({
|
|
1724
|
+
__error: `Timeout error: ${err}`,
|
|
1725
|
+
errored: true
|
|
1726
|
+
}, ctx2), ctx2.__metadata);
|
|
1727
|
+
emit(
|
|
1728
|
+
`meta.socket_client.signal_transmission_failed`,
|
|
1729
|
+
response
|
|
1730
|
+
);
|
|
1731
|
+
resolve(response);
|
|
1732
|
+
return;
|
|
1733
|
+
}
|
|
1734
|
+
if (ctx2.__routineExecId) {
|
|
1735
|
+
emit(
|
|
1736
|
+
`meta.socket_client.transmitted:${ctx2.__routineExecId}`,
|
|
1737
|
+
response
|
|
1738
|
+
);
|
|
1739
|
+
}
|
|
1740
|
+
resolve(response);
|
|
1741
|
+
});
|
|
1661
1742
|
});
|
|
1662
1743
|
}),
|
|
1663
1744
|
`Transmits signal to service ${serviceName} with address ${URL}`
|
|
1664
1745
|
).doOn(`meta.service_registry.selected_instance_for_socket:${fetchId}`);
|
|
1665
|
-
CadenzaService.
|
|
1746
|
+
CadenzaService.createEphemeralMetaTask(
|
|
1666
1747
|
`Shutdown SocketClient ${URL}`,
|
|
1667
|
-
() =>
|
|
1748
|
+
() => {
|
|
1749
|
+
socket == null ? void 0 : socket.close();
|
|
1750
|
+
delegateTask.destroy();
|
|
1751
|
+
transmitTask.destroy();
|
|
1752
|
+
},
|
|
1668
1753
|
"Shuts down the socket client"
|
|
1669
|
-
).doOn(
|
|
1754
|
+
).doOn(
|
|
1755
|
+
`meta.socket_shutdown_requested:${fetchId}`,
|
|
1756
|
+
`meta.socket_client.disconnected:${fetchId}`,
|
|
1757
|
+
`meta.fetch.handshake_failed:${fetchId}`
|
|
1758
|
+
).emits("meta.socket_client_shutdown_complete");
|
|
1670
1759
|
return true;
|
|
1671
1760
|
},
|
|
1672
1761
|
"Connects to a specified socket server"
|
|
@@ -1920,6 +2009,9 @@ var GraphMetadataController = class _GraphMetadataController {
|
|
|
1920
2009
|
"Handle routine execution creation",
|
|
1921
2010
|
(ctx) => {
|
|
1922
2011
|
const context = ctx.data.context;
|
|
2012
|
+
if (!ctx.data.isMeta) {
|
|
2013
|
+
console.log("Handle routine execution creation", ctx.data);
|
|
2014
|
+
}
|
|
1923
2015
|
delete ctx.data.context;
|
|
1924
2016
|
return {
|
|
1925
2017
|
data: __spreadProps(__spreadValues({}, ctx.data), {
|
|
@@ -2024,8 +2116,8 @@ var GraphMetadataController = class _GraphMetadataController {
|
|
|
2024
2116
|
(ctx) => {
|
|
2025
2117
|
var _a2;
|
|
2026
2118
|
const context = ctx.data.resultContext;
|
|
2027
|
-
delete ctx.data.resultContext;
|
|
2028
2119
|
console.log("Handle task execution ended", context);
|
|
2120
|
+
delete ctx.data.resultContext;
|
|
2029
2121
|
return {
|
|
2030
2122
|
data: __spreadProps(__spreadValues({}, ctx.data), {
|
|
2031
2123
|
service_name: CadenzaService.serviceRegistry.serviceName,
|
|
@@ -3059,8 +3151,7 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3059
3151
|
}
|
|
3060
3152
|
constructor() {
|
|
3061
3153
|
var _a2;
|
|
3062
|
-
(_a2 = CadenzaService.broker.getSignalsTask) == null ? void 0 : _a2.doOn("meta.
|
|
3063
|
-
CadenzaService.registry.getAllTasks.doAfter(CadenzaService.broker.getSignalsTask);
|
|
3154
|
+
(_a2 = CadenzaService.broker.getSignalsTask) == null ? void 0 : _a2.doOn("meta.service_registry.synced_instances").then(CadenzaService.registry.getAllTasks.then(CadenzaService.registry.getAllRoutines));
|
|
3064
3155
|
CadenzaService.createMetaTask("Split routines for registration", (ctx, emit) => {
|
|
3065
3156
|
const { __routines } = ctx;
|
|
3066
3157
|
if (!__routines) return;
|
|
@@ -3204,7 +3295,7 @@ var GraphSyncController = class _GraphSyncController {
|
|
|
3204
3295
|
);
|
|
3205
3296
|
}
|
|
3206
3297
|
return true;
|
|
3207
|
-
}).doAfter(CadenzaService.registry.getAllTasks)
|
|
3298
|
+
}).doAfter(CadenzaService.registry.getAllTasks);
|
|
3208
3299
|
}
|
|
3209
3300
|
};
|
|
3210
3301
|
|
|
@@ -3253,7 +3344,7 @@ var CadenzaService = class {
|
|
|
3253
3344
|
static createDeputyTask(routineName, serviceName = void 0, options = {}) {
|
|
3254
3345
|
this.bootstrap();
|
|
3255
3346
|
this.validateName(routineName);
|
|
3256
|
-
const name = `Deputy task for
|
|
3347
|
+
const name = `Deputy task for: ${routineName}`;
|
|
3257
3348
|
options = __spreadValues({
|
|
3258
3349
|
concurrency: 0,
|
|
3259
3350
|
timeout: 0,
|
|
@@ -3344,12 +3435,12 @@ var CadenzaService = class {
|
|
|
3344
3435
|
retryDelayFactor: 1
|
|
3345
3436
|
}, options);
|
|
3346
3437
|
options.isMeta = true;
|
|
3347
|
-
const name = `
|
|
3438
|
+
const name = `Transmission of signal: ${signalName}`;
|
|
3348
3439
|
return new SignalTransmissionTask(
|
|
3349
3440
|
name,
|
|
3350
3441
|
signalName,
|
|
3351
3442
|
serviceName,
|
|
3352
|
-
`Transmits signal
|
|
3443
|
+
`Transmits signal ${signalName} to ${serviceName} service.`,
|
|
3353
3444
|
options.concurrency,
|
|
3354
3445
|
options.timeout,
|
|
3355
3446
|
options.register,
|
|
@@ -3374,7 +3465,7 @@ var CadenzaService = class {
|
|
|
3374
3465
|
import_core3.default.validateName(operation);
|
|
3375
3466
|
const tableNameFormatted = tableName.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
|
|
3376
3467
|
const name = `${operation} ${tableName} in ${databaseServiceName != null ? databaseServiceName : "default database service"}`;
|
|
3377
|
-
const description = `Executes a
|
|
3468
|
+
const description = `Executes a ${operation} on table ${tableName} in ${databaseServiceName != null ? databaseServiceName : "default database service"}`;
|
|
3378
3469
|
const taskName = `db${operation.charAt(0).toUpperCase() + operation.slice(1)}${tableNameFormatted}`;
|
|
3379
3470
|
options = __spreadValues({
|
|
3380
3471
|
concurrency: 0,
|