Improve gateway reliability and dashboard docs
This commit is contained in:
@@ -361,13 +361,13 @@ worker startup, and removes the session if startup fails. A successful
|
||||
`OpenSession` attaches the ready `IWorkerClient` and transitions the session to
|
||||
`Ready`.
|
||||
|
||||
Only `Ready` sessions accept command and event operations. `CloseSession` is
|
||||
idempotent for sessions still known to the registry: the first close shuts down
|
||||
the worker, and later closes return the final `Closed` state. Lease handling is
|
||||
exposed as a session hook so a monitor can close expired sessions without
|
||||
embedding lease policy in the worker client. Gateway shutdown walks the
|
||||
registry, closes each known session, and kills a worker if graceful shutdown
|
||||
fails.
|
||||
Only `Ready` sessions accept command and event operations. `CloseSession` shuts
|
||||
down the worker, disposes the worker client, and removes the session from the
|
||||
registry so closed sessions do not retain pipe or process handles. A later close
|
||||
for the same id returns `SessionNotFound`. Lease handling is exposed as a
|
||||
session hook so a monitor can close expired sessions without embedding lease
|
||||
policy in the worker client. Gateway shutdown walks the registry, closes each
|
||||
known session, and kills a worker if graceful shutdown fails.
|
||||
|
||||
## Worker Launch
|
||||
|
||||
@@ -813,6 +813,11 @@ It emits .NET `Meter` instruments for collectors and keeps a
|
||||
the dashboard needs current counters and queue depths without depending on a
|
||||
specific metrics exporter.
|
||||
|
||||
Event metrics use low-cardinality tags such as event family. Per-session event
|
||||
counts are kept only in the in-process snapshot for active dashboard sessions
|
||||
and are purged when the session is removed. Worker event queue depth and gRPC
|
||||
event stream queue depth are reported as separate gauges.
|
||||
|
||||
HTTP request handling uses `UseGatewayRequestLoggingScope()` to attach common
|
||||
structured log fields when request metadata is present:
|
||||
|
||||
@@ -842,6 +847,8 @@ Suggested configuration shape:
|
||||
},
|
||||
"Worker": {
|
||||
"ExecutablePath": "src/MxGateway.Worker/bin/x86/Release/MxGateway.Worker.exe",
|
||||
"WorkingDirectory": null,
|
||||
"RequiredArchitecture": "X86",
|
||||
"StartupTimeoutSeconds": 30,
|
||||
"StartupProbeRetryAttempts": 3,
|
||||
"StartupProbeRetryDelayMilliseconds": 250,
|
||||
@@ -854,6 +861,7 @@ Suggested configuration shape:
|
||||
"Sessions": {
|
||||
"DefaultCommandTimeoutSeconds": 30,
|
||||
"MaxSessions": 64,
|
||||
"MaxPendingCommandsPerSession": 128,
|
||||
"AllowMultipleEventSubscribers": false
|
||||
},
|
||||
"Events": {
|
||||
@@ -869,6 +877,9 @@ Suggested configuration shape:
|
||||
"RecentFaultLimit": 100,
|
||||
"RecentSessionLimit": 200,
|
||||
"ShowTagValues": false
|
||||
},
|
||||
"Protocol": {
|
||||
"WorkerProtocolVersion": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -888,6 +899,9 @@ diagnostics, so it redacts secret-related fields such as
|
||||
`Authentication:PepperSecretName` and does not include raw API keys or key
|
||||
material.
|
||||
|
||||
The complete option reference, including defaults and validation rules, is in
|
||||
[Gateway Configuration](./GatewayConfiguration.md).
|
||||
|
||||
## Galaxy Repository Metadata
|
||||
|
||||
Galaxy hierarchy and tag metadata can be discovered through SQL Server when
|
||||
|
||||
Reference in New Issue
Block a user