namespace ZB.MOM.WW.MxGateway.Server.Workers;

public interface IWorkerProcessLauncher
{
    /// <summary>Launches a new worker process with the specified configuration.</summary>
    /// <param name="request">The launch request.</param>
    /// <param name="cancellationToken">Cancellation token.</param>
    /// <returns>The worker process handle.</returns>
    Task<WorkerProcessHandle> LaunchAsync(
        WorkerProcessLaunchRequest request,
        CancellationToken cancellationToken = default);
}
