namespace MxGateway.Server.Workers; public sealed class WorkerProcessStartedProbe : IWorkerStartupProbe { public Task WaitUntilReadyAsync( IWorkerProcess process, WorkerProcessLaunchRequest request, CancellationToken cancellationToken) { if (process.HasExited) { throw new WorkerProcessLaunchException( WorkerProcessLaunchErrorCode.StartupFailed, $"Worker process exited before startup completed with exit code {process.ExitCode}."); } return Task.CompletedTask; } }