48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
namespace ScadaLink.SiteRuntime;
|
|
|
|
/// <summary>
|
|
/// Configuration options for the Site Runtime component.
|
|
/// Bound from ScadaLink:SiteRuntime configuration section.
|
|
/// </summary>
|
|
public class SiteRuntimeOptions
|
|
{
|
|
/// <summary>
|
|
/// Number of Instance Actors to create per batch during staggered startup.
|
|
/// Default: 20.
|
|
/// </summary>
|
|
public int StartupBatchSize { get; set; } = 20;
|
|
|
|
/// <summary>
|
|
/// Delay in milliseconds between startup batches to prevent reconnection storms.
|
|
/// Default: 100ms.
|
|
/// </summary>
|
|
public int StartupBatchDelayMs { get; set; } = 100;
|
|
|
|
/// <summary>
|
|
/// Maximum call depth for recursive script calls (CallScript/CallShared).
|
|
/// Default: 10.
|
|
/// </summary>
|
|
public int MaxScriptCallDepth { get; set; } = 10;
|
|
|
|
/// <summary>
|
|
/// Default script execution timeout in seconds.
|
|
/// Default: 30 seconds.
|
|
/// </summary>
|
|
public int ScriptExecutionTimeoutSeconds { get; set; } = 30;
|
|
|
|
/// <summary>
|
|
/// Per-subscriber buffer size for the site-wide Akka stream.
|
|
/// Slow subscribers drop oldest messages when buffer is full.
|
|
/// Default: 1000.
|
|
/// </summary>
|
|
public int StreamBufferSize { get; set; } = 1000;
|
|
|
|
/// <summary>
|
|
/// SiteRuntime-009: number of dedicated threads in the script-execution scheduler.
|
|
/// Script and alarm on-trigger bodies run on these threads instead of the shared
|
|
/// .NET thread pool, so blocking script I/O cannot starve the global pool.
|
|
/// Default: 8.
|
|
/// </summary>
|
|
public int ScriptExecutionThreadCount { get; set; } = 8;
|
|
}
|