b86c6bb47f
Resolve all CommentChecker findings across the gateway server, worker, tests, and .NET client (314 -> 0 real issues): add missing <returns>/<summary>/<param> on public and test members, convert Stream/interface overrides to <inheritdoc/>, and remove internal task/issue tracking IDs (SEC-*, IPC-*, WRK-*, GWC-*, TST-*, Client.Dotnet-*) from shipped code documentation while preserving the design rationale prose. Shipped comments should not carry internal bookkeeping, and complete XML docs keep the analyzer/TreatWarningsAsErrors gate and generated API docs clean. The 6 remaining flags are heuristic false positives (MD5, UTC-4, capacity-1, near-1601) left intact so real documentation is not corrupted. Claude-Session: https://claude.ai/code/session_01DMXXvNuPekkkrTEyPNxEkW
47 lines
2.3 KiB
C#
47 lines
2.3 KiB
C#
namespace ZB.MOM.WW.MxGateway.Server.Configuration;
|
|
|
|
public sealed class WorkerOptions
|
|
{
|
|
/// <summary>The path to the worker executable.</summary>
|
|
public string ExecutablePath { get; init; } =
|
|
@"src\ZB.MOM.WW.MxGateway.Worker\bin\x86\Release\ZB.MOM.WW.MxGateway.Worker.exe";
|
|
|
|
/// <summary>The working directory for the worker process, or null to inherit.</summary>
|
|
public string? WorkingDirectory { get; init; }
|
|
|
|
/// <summary>The required processor architecture for the worker.</summary>
|
|
public WorkerArchitecture RequiredArchitecture { get; init; } = WorkerArchitecture.X86;
|
|
|
|
/// <summary>The maximum time in seconds for the worker to start.</summary>
|
|
public int StartupTimeoutSeconds { get; init; } = 30;
|
|
|
|
/// <summary>The number of retry attempts for the startup probe.</summary>
|
|
public int StartupProbeRetryAttempts { get; init; } = 3;
|
|
|
|
/// <summary>The delay in milliseconds between startup probe retries.</summary>
|
|
public int StartupProbeRetryDelayMilliseconds { get; init; } = 250;
|
|
|
|
/// <summary>The timeout in milliseconds for connecting to the worker pipe.</summary>
|
|
public int PipeConnectAttemptTimeoutMilliseconds { get; init; } = 2000;
|
|
|
|
/// <summary>The maximum time in seconds for graceful shutdown.</summary>
|
|
public int ShutdownTimeoutSeconds { get; init; } = 10;
|
|
|
|
/// <summary>The interval in seconds for worker heartbeats.</summary>
|
|
public int HeartbeatIntervalSeconds { get; init; } = 5;
|
|
|
|
/// <summary>The grace period in seconds after a heartbeat before considering the worker unresponsive.</summary>
|
|
public int HeartbeatGraceSeconds { get; init; } = 15;
|
|
|
|
/// <summary>
|
|
/// The maximum worker-frame (pipe) message size in bytes. Must stay at least
|
|
/// <see cref="Workers.WorkerFrameProtocolOptions.EnvelopeOverheadReserveBytes"/> above
|
|
/// <see cref="ProtocolOptions.MaxGrpcMessageBytes"/> so a maximally-sized accepted gRPC payload
|
|
/// still fits one worker frame; the gateway conveys this value to the worker in the
|
|
/// handshake (<c>GatewayHello.max_frame_bytes</c>). Default is the 16 MB public gRPC cap
|
|
/// plus that reserve.
|
|
/// </summary>
|
|
public int MaxMessageBytes { get; init; } =
|
|
(16 * 1024 * 1024) + Workers.WorkerFrameProtocolOptions.EnvelopeOverheadReserveBytes;
|
|
}
|