e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
//----------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//----------------------------------------------------------------
|
|
|
|
namespace System.Activities.DurableInstancing
|
|
{
|
|
using System;
|
|
using System.Runtime.DurableInstancing;
|
|
|
|
class DetectRunnableInstancesTask : PersistenceTask
|
|
{
|
|
public DetectRunnableInstancesTask(SqlWorkflowInstanceStore store, SqlWorkflowInstanceStoreLock storeLock, TimeSpan taskInterval)
|
|
: base(store, storeLock, new DetectRunnableInstancesCommand(), taskInterval, SqlWorkflowInstanceStoreConstants.DefaultTaskTimeout, false)
|
|
{
|
|
}
|
|
|
|
public override void ResetTimer(bool fireImmediately, TimeSpan? taskIntervalOverride)
|
|
{
|
|
InstanceOwner instanceOwner;
|
|
if (base.Store.FindEvent(HasRunnableWorkflowEvent.Value, out instanceOwner) != null)
|
|
{
|
|
base.ResetTimer(fireImmediately, taskIntervalOverride);
|
|
}
|
|
}
|
|
|
|
protected override void HandleError(Exception exception)
|
|
{
|
|
if (TD.RunnableInstancesDetectionErrorIsEnabled())
|
|
{
|
|
TD.RunnableInstancesDetectionError(exception);
|
|
}
|
|
|
|
this.ResetTimer(false);
|
|
}
|
|
}
|
|
}
|