Interface IPollableInput
- Namespace
- FlowOrchestrator.Core.Execution
- Assembly
- FlowOrchestrator.Core.dll
Marks a step input POCO as supporting the polling pattern. When implemented, the PollableStepHandler<TInput> base class manages retry scheduling, timeout enforcement, and condition evaluation automatically.
public interface IPollableInput
Properties
PollAttempt
Running count of poll attempts for this step invocation. Managed by the base class — do not set this manually.
int? PollAttempt { get; set; }
Property Value
- int?
PollConditionEquals
The expected value at PollConditionPath. Comparison is case-insensitive string equality. When null, the condition succeeds as soon as the path resolves to a non-empty value.
object? PollConditionEquals { get; }
Property Value
PollConditionPath
Dot-notation JSON path evaluated against the fetch result to locate the value to compare
(e.g. "status" or "result.state").
When null, the full payload is tested for non-empty content.
string? PollConditionPath { get; }
Property Value
PollEnabled
When true, the base class checks the poll condition and reschedules via Hangfire delay until it is met or the timeout expires. When false, the handler executes exactly once regardless of the result.
bool PollEnabled { get; }
Property Value
PollIntervalSeconds
Seconds to wait between poll attempts. Minimum effective value is 1.
int PollIntervalSeconds { get; }
Property Value
PollMinAttempts
Minimum number of successful fetch attempts required before the condition is evaluated. Prevents false positives on the very first response.
int PollMinAttempts { get; }
Property Value
PollStartedAtUtc
ISO 8601 timestamp recorded on the first poll attempt; used to track total elapsed time. Managed by the base class — do not set this manually.
string? PollStartedAtUtc { get; set; }
Property Value
PollTimeoutSeconds
Maximum total seconds to keep polling before the step is marked Failed. Must be greater than or equal to PollIntervalSeconds.
int PollTimeoutSeconds { get; }