9cff87fe85
Remove project bookkeeping citations from shipped code comments across the solution: hyphenated task IDs (WP-14, StoreAndForward-025), milestone/task/ issue refs (M3, Task 4, Audit Log #23, #21), Bundle X task-bundle labels, and C/D/K/S/T phase labels. Comment text only — no code logic, string/log literals, or XML-doc structure changed. Genuine descriptions are preserved (only the citation is stripped), and technical lookalikes are retained (UTF-8, SHA-256, T00:00:00, M365, UTC-5, pre-C4/pre-C5 schema versions). Flagged by the new CommentChecker TaskReferenceInComment / TrackingReferenceInComment checks plus targeted grep passes; full solution builds clean, append-only guard tests pass.
38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
namespace ZB.MOM.WW.ScadaBridge.AuditLog.Central;
|
|
|
|
/// <summary>
|
|
/// Tuning knobs for the central
|
|
/// <see cref="AuditLogPartitionMaintenanceService"/> hosted service.
|
|
/// Defaults: once every 24 hours, keep at least one future monthly
|
|
/// boundary ahead of <see cref="DateTime.UtcNow"/>.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>
|
|
/// The hosted service drives a daily roll-forward of
|
|
/// <c>pf_AuditLog_Month</c>: each tick reads the current max boundary and
|
|
/// SPLITs new monthly boundaries until at least
|
|
/// <see cref="LookaheadMonths"/> future months are covered. The 1-month
|
|
/// default is intentionally conservative — anything less risks an
|
|
/// end-of-month race where inserts land in the unbounded tail partition;
|
|
/// anything more wastes nothing but represents premature commitment.
|
|
/// </para>
|
|
/// <para>
|
|
/// The 24-hour cadence is the cheapest interval that still guarantees
|
|
/// at-most-one missed boundary in steady state (even a hard failover the
|
|
/// hosted service can recover on its very next tick). Lowering this below
|
|
/// an hour would generate more metadata churn than it saves.
|
|
/// </para>
|
|
/// </remarks>
|
|
public sealed class AuditLogPartitionMaintenanceOptions
|
|
{
|
|
/// <summary>Period of the maintenance tick in seconds (default 86 400 = 24 h).</summary>
|
|
public int IntervalSeconds { get; set; } = 86_400;
|
|
|
|
/// <summary>
|
|
/// Minimum number of future months that <c>pf_AuditLog_Month</c> must
|
|
/// cover after each tick. Default 1 — i.e. as of mid-May the partition
|
|
/// for the next full month (June) must already be present.
|
|
/// </summary>
|
|
public int LookaheadMonths { get; set; } = 1;
|
|
}
|