Skip to main content

WorkflowRuntimeSettings: Configuration

This section describes the fields that might be implemented in the class WorkflowRuntimeSettings and also by considering possible pre-execution scenarios to managing workflows through Workflow Engine.

Settings description

In the table below has been included the main values that can be used:

NameValue typeDescription
ExecutionSearchOrderExecutionSearchOrderThe order of the Action, Condition, or Rule which is searched by name.
IsAutoUpdateSchemeBeforeGetAvailableCommandsBooleanIt enables automatic schema of a process update before getting the commands list if it is allowed in current activity.
IgnoreMissingExecutionItemsBooleanIt is optional. In case of you are sure that your schemes do not mention nonexistent Actions, Conditions or Rules, do not use this setting.
UseUtcDateTimeAsRuntimeTimeBooleanRuntime use UTC date and time if true is set and Local date and time if false.
SchemeParsingCultureCultureInfoCulture is defined for parsing some text parameters from scheme. Default option can be set to: 'InvariantCulture'.
CancellationTokenHandlingCancellationTokenHandlingThe way of handling: System.Threading.CancellationToken, after activity execution.
PersistenceProviderQueryRetriesInt32The number of retries of a query that is allowed.
PersistenceProviderQueryRetryDelayTimeSpanThe delay between retries.
MaxNumberOfPerformedActivitiesInt64It is the maximum number of activities that can be executed. It can be used to protect your application from infinite loops. Any value less than 1 means unlimited. Unlimited by default.
MaxPreExecutionTransitionsInt32The maximum number of transitions during pre-execution mode.
LicenseSemaphoreTimeoutInt32It works only for licenses with thread limit.
ParentProcessIdledWaitTimeoutInt32It is defined as the Timeout of waiting for unblocking (status = not Running) of the root process.

This is the WorkflowRuntimeSettings class which accepts the described options. This object contains the default values:

public WorkflowRuntimeSettings()
{
ExecutionSearchOrder = ExecutionSearchOrder.LocalGlobalProvider;
IsAutoUpdateSchemeBeforeGetAvailableCommands = false;
IgnoreMissingExecutionItems = false;
UseUtcDateTimeAsRuntimeTime = false;
SchemeParsingCulture = CultureInfo.InvariantCulture;
CancellationTokenHandling = CancellationTokenHandling.Ignore;
PersistenceProviderQueryRetries = 3;
PersistenceProviderQueryRetryDelay = TimeSpan.FromMilliseconds(100);
MaxNumberOfPerformedActivities = Int64.MaxValue;
MaxPreExecutionTransitions = 100;
LicenseSemaphoreTimeout = 10000;
ParentProcessIdledWaitTimeout = 30000;
};