DurabilityProvider Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The backend storage provider that provides the actual durability of Durable Functions. This is functionally a superset of DurableTask.Core.IOrchestrationService and DurableTask.Core.IOrchestrationServiceClient. If the storage provider does not any of the Durable Functions specific operations, they can use this class directly with the expectation that only those interfaces will be implemented. All of the Durable Functions specific methods/operations are virtual and can be overwritten by creating a subclass.
public class DurabilityProvider : DurableTask.Core.IOrchestrationService, DurableTask.Core.IOrchestrationServiceClient, DurableTask.Core.IOrchestrationServicePurgeClient, DurableTask.Core.Query.IOrchestrationServiceQueryClient
type DurabilityProvider = class
interface IOrchestrationService
interface IOrchestrationServiceClient
interface IOrchestrationServiceQueryClient
interface IOrchestrationServicePurgeClient
Public Class DurabilityProvider
Implements IOrchestrationService, IOrchestrationServiceClient, IOrchestrationServicePurgeClient, IOrchestrationServiceQueryClient
- Inheritance
-
DurabilityProvider
- Implements
-
DurableTask.Core.IOrchestrationService DurableTask.Core.IOrchestrationServiceClient DurableTask.Core.IOrchestrationServicePurgeClient DurableTask.Core.Query.IOrchestrationServiceQueryClient
Constructors
DurabilityProvider(String, IOrchestrationService, IOrchestrationServiceClient, String) |
Creates the default DurabilityProvider. |
Properties
ConfigurationJson |
JSON representation of configuration to emit in telemetry. |
ConnectionName |
The name of the environment variable that contains connection details for how to connect to storage providers. Corresponds to the ConnectionName for binding data. |
EventBehaviourForContinueAsNew | DurableTask.Core.IOrchestrationService.EventBehaviourForContinueAsNew |
EventSourceName |
Event source name (e.g. DurableTask-AzureStorage). |
GuaranteesOrderedDelivery |
Specifies whether this backend delivers messages in order. |
LongRunningTimerIntervalLength |
Interval time used for long running timers. |
MaxConcurrentTaskActivityWorkItems | DurableTask.Core.IOrchestrationService.MaxConcurrentTaskActivityWorkItems |
MaxConcurrentTaskOrchestrationWorkItems | DurableTask.Core.IOrchestrationService.MaxConcurrentTaskOrchestrationWorkItems |
MaximumDelayTime |
Value of maximum durable timer delay. Used for long running durable timers. |
SupportsEntities |
Specifies whether the durability provider supports Durable Entities. |
SupportsImplicitEntityDeletion |
Specifies whether this backend supports implicit deletion of entities. |
SupportsPollFreeWait |
Specifies whether the backend's WaitForOrchestration is implemented without polling. |
TaskActivityDispatcherCount | DurableTask.Core.IOrchestrationService.TaskActivityDispatcherCount |
TaskOrchestrationDispatcherCount | DurableTask.Core.IOrchestrationService.TaskOrchestrationDispatcherCount |
Methods
AbandonTaskActivityWorkItemAsync(TaskActivityWorkItem) | DurableTask.Core.IOrchestrationService.AbandonTaskActivityWorkItemAsync(DurableTask.Core.TaskActivityWorkItem) |
AbandonTaskOrchestrationWorkItemAsync(TaskOrchestrationWorkItem) | DurableTask.Core.IOrchestrationService.AbandonTaskOrchestrationWorkItemAsync(DurableTask.Core.TaskOrchestrationWorkItem) |
CompleteTaskActivityWorkItemAsync(TaskActivityWorkItem, TaskMessage) | DurableTask.Core.IOrchestrationService.CompleteTaskActivityWorkItemAsync(DurableTask.Core.TaskActivityWorkItem,DurableTask.Core.TaskMessage) |
CompleteTaskOrchestrationWorkItemAsync(TaskOrchestrationWorkItem, OrchestrationRuntimeState, IList<TaskMessage>, IList<TaskMessage>, IList<TaskMessage>, TaskMessage, OrchestrationState) | DurableTask.Core.IOrchestrationService.CompleteTaskOrchestrationWorkItemAsync(DurableTask.Core.TaskOrchestrationWorkItem,DurableTask.Core.OrchestrationRuntimeState,System.Collections.Generic.IList{DurableTask.Core.TaskMessage},System.Collections.Generic.IList{DurableTask.Core.TaskMessage},System.Collections.Generic.IList{DurableTask.Core.TaskMessage},DurableTask.Core.TaskMessage,DurableTask.Core.OrchestrationState) |
CreateAsync() | DurableTask.Core.IOrchestrationService.CreateAsync |
CreateAsync(Boolean) | DurableTask.Core.IOrchestrationService.CreateAsync(System.Boolean) |
CreateIfNotExistsAsync() | DurableTask.Core.IOrchestrationService.CreateIfNotExistsAsync |
CreateTaskOrchestrationAsync(TaskMessage) | DurableTask.Core.IOrchestrationServiceClient.CreateTaskOrchestrationAsync(DurableTask.Core.TaskMessage) |
CreateTaskOrchestrationAsync(TaskMessage, OrchestrationStatus[]) | DurableTask.Core.IOrchestrationServiceClient.CreateTaskOrchestrationAsync(DurableTask.Core.TaskMessage,DurableTask.Core.OrchestrationStatus[]) |
DeleteAsync() | DurableTask.Core.IOrchestrationService.DeleteAsync |
DeleteAsync(Boolean) | DurableTask.Core.IOrchestrationService.DeleteAsync(System.Boolean) |
ForceTerminateTaskOrchestrationAsync(String, String) | DurableTask.Core.IOrchestrationServiceClient.ForceTerminateTaskOrchestrationAsync(System.String,System.String) |
GetAllOrchestrationStates(CancellationToken) |
Gets the status of all orchestration instances. |
GetAllOrchestrationStatesWithFilters(DateTime, Nullable<DateTime>, IEnumerable<OrchestrationRuntimeStatus>, CancellationToken) |
Obsolete.
Gets the status of all orchestration instances within the specified parameters. |
GetDelayInSecondsAfterOnFetchException(Exception) | DurableTask.Core.IOrchestrationService.GetDelayInSecondsAfterOnFetchException(System.Exception) |
GetDelayInSecondsAfterOnProcessException(Exception) | DurableTask.Core.IOrchestrationService.GetDelayInSecondsAfterOnProcessException(System.Exception) |
GetOrchestrationHistoryAsync(String, String) | DurableTask.Core.IOrchestrationServiceClient.GetOrchestrationHistoryAsync(System.String,System.String) |
GetOrchestrationStateAsync(String, Boolean) | DurableTask.Core.IOrchestrationServiceClient.GetOrchestrationStateAsync(System.String,System.Boolean) |
GetOrchestrationStateAsync(String, String) | DurableTask.Core.IOrchestrationServiceClient.GetOrchestrationStateAsync(System.String,System.String) |
GetOrchestrationStateWithInputsAsync(String, Boolean) |
Gets the state of the specified orchestration instance. |
GetOrchestrationStateWithPagination(OrchestrationStatusQueryCondition, CancellationToken) |
Gets paginated result of all orchestration instances that match query status parameters. |
IsMaxMessageCountExceeded(Int32, OrchestrationRuntimeState) | DurableTask.Core.IOrchestrationService.IsMaxMessageCountExceeded(System.Int32,DurableTask.Core.OrchestrationRuntimeState) |
LockNextTaskActivityWorkItem(TimeSpan, CancellationToken) | DurableTask.Core.IOrchestrationService.LockNextTaskActivityWorkItem(System.TimeSpan,System.Threading.CancellationToken) |
LockNextTaskOrchestrationWorkItemAsync(TimeSpan, CancellationToken) | DurableTask.Core.IOrchestrationService.LockNextTaskOrchestrationWorkItemAsync(System.TimeSpan,System.Threading.CancellationToken) |
MakeCurrentAppPrimaryAsync() |
Makes the current app the primary app, if it isn't already. Must be using the AppLease feature. |
PurgeHistoryByFilters(DateTime, Nullable<DateTime>, IEnumerable<OrchestrationStatus>) |
Purges history that meet the required parameters. |
PurgeInstanceHistoryByInstanceId(String) |
Purges the instance history for the provided instance id. |
PurgeOrchestrationHistoryAsync(DateTime, OrchestrationStateTimeRangeFilterType) | DurableTask.Core.IOrchestrationServiceClient.PurgeOrchestrationHistoryAsync(System.DateTime,DurableTask.Core.OrchestrationStateTimeRangeFilterType) |
ReleaseTaskOrchestrationWorkItemAsync(TaskOrchestrationWorkItem) | DurableTask.Core.IOrchestrationService.ReleaseTaskOrchestrationWorkItemAsync(DurableTask.Core.TaskOrchestrationWorkItem) |
RenewTaskActivityWorkItemLockAsync(TaskActivityWorkItem) | DurableTask.Core.IOrchestrationService.RenewTaskActivityWorkItemLockAsync(DurableTask.Core.TaskActivityWorkItem) |
RenewTaskOrchestrationWorkItemLockAsync(TaskOrchestrationWorkItem) | DurableTask.Core.IOrchestrationService.RenewTaskOrchestrationWorkItemLockAsync(DurableTask.Core.TaskOrchestrationWorkItem) |
ResumeTaskOrchestrationAsync(String, String) |
Resume the specified orchestration instance with a reason. |
RetrieveSerializedEntityState(EntityId, JsonSerializerSettings) |
Retrieves the state for a serialized entity. |
RewindAsync(String, String) |
Rewinds the specified failed orchestration instance with a reason. |
SendTaskOrchestrationMessageAsync(TaskMessage) | DurableTask.Core.IOrchestrationServiceClient.SendTaskOrchestrationMessageAsync(DurableTask.Core.TaskMessage) |
SendTaskOrchestrationMessageBatchAsync(TaskMessage[]) | DurableTask.Core.IOrchestrationServiceClient.SendTaskOrchestrationMessageBatchAsync(DurableTask.Core.TaskMessage[]) |
StartAsync() | DurableTask.Core.IOrchestrationService.StartAsync |
StopAsync() | DurableTask.Core.IOrchestrationService.StopAsync |
StopAsync(Boolean) | DurableTask.Core.IOrchestrationService.StopAsync(System.Boolean) |
SuspendTaskOrchestrationAsync(String, String) |
Suspend the specified orchestration instance with a reason. |
TryGetScaleMonitor(String, String, String, String, IScaleMonitor) |
Tries to obtain a scale monitor for autoscaling. |
ValidateDelayTime(TimeSpan, String) |
Uses durability provider specific logic to verify whether a timespan for a timer, timeout or retry interval is allowed by the provider. |
WaitForOrchestrationAsync(String, String, TimeSpan, CancellationToken) | DurableTask.Core.IOrchestrationServiceClient.WaitForOrchestrationAsync(System.String,System.String,System.TimeSpan,System.Threading.CancellationToken) |
Explicit Interface Implementations
IOrchestrationServicePurgeClient.PurgeInstanceStateAsync(PurgeInstanceFilter) | DurableTask.Core.IOrchestrationServicePurgeClient.PurgeInstanceStateAsync(DurableTask.Core.PurgeInstanceFilter) |
IOrchestrationServicePurgeClient.PurgeInstanceStateAsync(String) | DurableTask.Core.IOrchestrationServicePurgeClient.PurgeInstanceStateAsync(System.String) |
IOrchestrationServiceQueryClient.GetOrchestrationWithQueryAsync(OrchestrationQuery, CancellationToken) | DurableTask.Core.Query.IOrchestrationServiceQueryClient.GetOrchestrationWithQueryAsync(DurableTask.Core.Query.OrchestrationQuery,System.Threading.CancellationToken) |
Applies to
Azure SDK for .NET