< Summary

Information
Class: Elsa.Workflows.Runtime.Options.WorkflowDispatcherOptions
Assembly: Elsa.Workflows.Runtime
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Runtime/Options/WorkflowDispatcherOptions.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 47
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Channels()100%11100%
get_UseTransactionalOutbox()100%11100%
get_ProcessOutboxAfterCommit()100%11100%
get_OrphanedOutboxItemRetention()100%11100%
get_MaxOutboxDeliveryAttempts()100%11100%
get_OutboxProcessorBatchSize()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Runtime/Options/WorkflowDispatcherOptions.cs

#LineLine coverage
 1namespace Elsa.Workflows.Runtime.Options;
 2
 3/// <summary>
 4/// Provides options to the workflow dispatcher.
 5/// </summary>
 6public class WorkflowDispatcherOptions
 7{
 8    /// <summary>
 9    /// A list of available channels to dispatch workflows to.
 10    /// </summary>
 11    /// <remarks>
 12    /// Channels are used to dispatch workflows to different queues or endpoints.
 13    /// </remarks>
 84714    public ICollection<DispatcherChannel> Channels { get; set; } = new List<DispatcherChannel>();
 15
 16    /// <summary>
 17    /// Gets or sets whether workflow dispatch calls made during workflow execution are written to the transactional out
 18    /// </summary>
 19    /// <remarks>
 20    /// When enabled, in-workflow child dispatches and in-workflow asynchronous event publications
 21    /// (<c>PublishEvent</c> / <c>IEventPublisher</c>) are written to the same outbox and delivered after the parent sta
 22    /// </remarks>
 147523    public bool UseTransactionalOutbox { get; set; }
 24
 25    /// <summary>
 26    /// Gets or sets whether the shared outbox processor should run immediately after a workflow state commit that conta
 27    /// </summary>
 28    /// <remarks>
 29    /// The immediate processor drains eligible pending items from the shared outbox. Disable this option to rely only o
 30    /// </remarks>
 24631    public bool ProcessOutboxAfterCommit { get; set; } = true;
 32
 33    /// <summary>
 34    /// Gets or sets how long an outbox item whose owner workflow instance cannot be found should be retained before cle
 35    /// </summary>
 24836    public TimeSpan OrphanedOutboxItemRetention { get; set; } = TimeSpan.FromDays(1);
 37
 38    /// <summary>
 39    /// Gets or sets the maximum number of failed delivery attempts before an outbox item is abandoned.
 40    /// </summary>
 24441    public int MaxOutboxDeliveryAttempts { get; set; } = 10;
 42
 43    /// <summary>
 44    /// Gets or sets the maximum number of outbox items to load and process during one processor cycle.
 45    /// </summary>
 25446    public int OutboxProcessorBatchSize { get; set; } = 100;
 47}