refactor: rename ScadaLink → ZB.MOM.WW.ScadaBridge (code + projects + namespaces)
Solution + 23 src projects + 26 test projects renamed; folders, csproj, namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated. ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated. SQL roles/logins, LDAP domains, CLI command name, and CLI config dir (~/.scadalink → ~/.scadabridge) also renamed. Build green; 5 Host.Tests fail awaiting SQL login rename in next commit. Pre-existing StaleTagMonitor timing flakes unchanged. Rename script committed at tools/rename-to-scadabridge.sh.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
namespace ZB.MOM.WW.ScadaBridge.NotificationOutbox;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration options for the Notification Outbox component: dispatch cadence,
|
||||
/// batch sizing, stuck-message detection, terminal retention, and KPI windowing.
|
||||
/// </summary>
|
||||
public class NotificationOutboxOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Interval between dispatch sweeps that pick up pending notifications for delivery.
|
||||
/// Default: 10 seconds.
|
||||
/// </summary>
|
||||
public TimeSpan DispatchInterval { get; set; } = TimeSpan.FromSeconds(10);
|
||||
|
||||
/// <summary>
|
||||
/// Maximum number of notifications claimed for delivery in a single dispatch sweep.
|
||||
/// Caps per-sweep batch size to bound memory and per-iteration latency.
|
||||
/// Default: 100.
|
||||
/// </summary>
|
||||
public int DispatchBatchSize { get; set; } = 100;
|
||||
|
||||
/// <summary>
|
||||
/// Age past which a still-<c>Pending</c>/<c>Retrying</c> notification is counted as
|
||||
/// "stuck" on the KPI tile and the per-row badge in the Central UI.
|
||||
/// Display-only: rows older than this threshold are flagged in KPIs/UI; there is no
|
||||
/// automatic re-claim, requeue, or escalation — the dispatcher behaviour is unaffected.
|
||||
/// Default: 10 minutes.
|
||||
/// </summary>
|
||||
public TimeSpan StuckAgeThreshold { get; set; } = TimeSpan.FromMinutes(10);
|
||||
|
||||
/// <summary>
|
||||
/// Retention period for notifications in a terminal state (<c>Delivered</c>,
|
||||
/// <c>Parked</c>, <c>Discarded</c>) before they are purged from the Notifications table.
|
||||
/// Default: 365 days.
|
||||
/// </summary>
|
||||
public TimeSpan TerminalRetention { get; set; } = TimeSpan.FromDays(365);
|
||||
|
||||
/// <summary>
|
||||
/// Interval between background purge sweeps of terminal notifications older than
|
||||
/// <see cref="TerminalRetention"/>.
|
||||
/// Default: 1 day.
|
||||
/// </summary>
|
||||
public TimeSpan PurgeInterval { get; set; } = TimeSpan.FromDays(1);
|
||||
|
||||
/// <summary>
|
||||
/// Trailing window used to compute the "delivered (last interval)" throughput KPI
|
||||
/// surfaced on the Health dashboard and the Notification Outbox page.
|
||||
/// Default: 1 minute.
|
||||
/// </summary>
|
||||
public TimeSpan DeliveredKpiWindow { get; set; } = TimeSpan.FromMinutes(1);
|
||||
}
|
||||
Reference in New Issue
Block a user