feat: prepare Zhinian desktop pilot
This commit is contained in:
@@ -44,6 +44,7 @@ import { GatewayLifecycleController, LifecycleSupersededError } from './lifecycl
|
||||
import { launchGatewayProcess } from './process-launcher';
|
||||
import { GatewayRestartController } from './restart-controller';
|
||||
import { GatewayRestartGovernor } from './restart-governor';
|
||||
import { ensureOpenClawRuntimeDepsReady } from './runtime-deps';
|
||||
import {
|
||||
DEFAULT_GATEWAY_RELOAD_POLICY,
|
||||
loadGatewayReloadPolicy,
|
||||
@@ -145,9 +146,9 @@ export class GatewayManager extends EventEmitter {
|
||||
private reconnectAttemptsTotal = 0;
|
||||
private reconnectSuccessTotal = 0;
|
||||
private static readonly RELOAD_POLICY_REFRESH_MS = 15_000;
|
||||
private static readonly HEARTBEAT_INTERVAL_MS = 30_000;
|
||||
private static readonly HEARTBEAT_TIMEOUT_MS = 12_000;
|
||||
private static readonly HEARTBEAT_MAX_MISSES = 3;
|
||||
private static readonly HEARTBEAT_INTERVAL_MS = 60_000;
|
||||
private static readonly HEARTBEAT_TIMEOUT_MS = 25_000;
|
||||
private static readonly HEARTBEAT_MAX_MISSES = 5;
|
||||
// Windows-specific heartbeat parameters — more lenient to reduce log noise
|
||||
// from false positives caused by Windows Defender scans, system updates,
|
||||
// and synchronous event-loop blocking in the gateway.
|
||||
@@ -865,6 +866,7 @@ export class GatewayManager extends EventEmitter {
|
||||
*/
|
||||
private async startProcess(): Promise<void> {
|
||||
const launchContext = await prepareGatewayLaunchContext(this.status.port);
|
||||
await ensureOpenClawRuntimeDepsReady(launchContext);
|
||||
await unloadLaunchctlGatewayService();
|
||||
this.processExitCode = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user