@kb-labs/workflow-daemon 2.119.0 → 2.119.1-canary.b53bbee1d
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 +10 -1
- package/dist/index.js.map +1 -1
- package/package.json +22 -22
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { makeAssemblyHook } from '@kb-labs/plugin-runtime';
|
|
3
|
-
import { WorkflowEngine, WorkflowService } from '@kb-labs/workflow-engine';
|
|
3
|
+
import { WorkflowEngine, DAEMON_LEASE_HEARTBEAT_INTERVAL_MS, WorkflowService } from '@kb-labs/workflow-engine';
|
|
4
4
|
import { getListenOptions, HttpObservabilityCollector, createDaemonServer, createServiceReadyResponse, metricLine } from '@kb-labs/shared-http';
|
|
5
5
|
import { runService } from '@kb-labs/shared-daemon';
|
|
6
6
|
import { logDiagnosticEvent, createContextLogger } from '@kb-labs/core-platform';
|
|
@@ -3272,6 +3272,14 @@ async function bootstrap(_cwd = process.cwd()) {
|
|
|
3272
3272
|
"Cleaning up stale runs from previous daemon process"
|
|
3273
3273
|
);
|
|
3274
3274
|
await engine.cleanupStaleRuns();
|
|
3275
|
+
const leaseHeartbeat = setInterval(() => {
|
|
3276
|
+
engine.renewDaemonLease().catch((error) => {
|
|
3277
|
+
bootstrapLogger.warn("Failed to renew daemon liveness lease", {
|
|
3278
|
+
err: error instanceof Error ? error.message : String(error)
|
|
3279
|
+
});
|
|
3280
|
+
});
|
|
3281
|
+
}, DAEMON_LEASE_HEARTBEAT_INTERVAL_MS);
|
|
3282
|
+
leaseHeartbeat.unref?.();
|
|
3275
3283
|
bootstrapLogger.info("Resuming interrupted jobs");
|
|
3276
3284
|
await engine.resumeInterruptedJobs();
|
|
3277
3285
|
bootstrapLogger.info("Reconciling persisted child workflow invocations");
|
|
@@ -3363,6 +3371,7 @@ async function bootstrap(_cwd = process.cwd()) {
|
|
|
3363
3371
|
bootstrapLogger.info("Workflow daemon started successfully", { port });
|
|
3364
3372
|
return async () => {
|
|
3365
3373
|
bootstrapLogger.warn("Stopping workflow daemon components");
|
|
3374
|
+
clearInterval(leaseHeartbeat);
|
|
3366
3375
|
fileWatcher.close();
|
|
3367
3376
|
await cronScheduler.stop();
|
|
3368
3377
|
await worker.stop();
|