27 lines
830 B
C#
27 lines
830 B
C#
|
|
using Elsa.Common;
|
||
|
|
using JetBrains.Annotations;
|
||
|
|
|
||
|
|
namespace Elsa.Workflows.Runtime.Tasks;
|
||
|
|
|
||
|
|
/// Periodically signals the bookmark queue processor to check for new items. This is a reliability measure that ensures stimuli never gets missed.
|
||
|
|
[UsedImplicitly]
|
||
|
|
public class TriggerBookmarkQueueRecurringTask(IBookmarkQueueWorker bookmarkQueueWorker, IBookmarkQueueSignaler signaler) : IRecurringTask
|
||
|
|
{
|
||
|
|
public Task StartAsync(CancellationToken cancellationToken)
|
||
|
|
{
|
||
|
|
bookmarkQueueWorker.Start();
|
||
|
|
return Task.CompletedTask;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Task StopAsync(CancellationToken cancellationToken)
|
||
|
|
{
|
||
|
|
bookmarkQueueWorker.Stop();
|
||
|
|
return Task.CompletedTask;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Task ExecuteAsync(CancellationToken stoppingToken)
|
||
|
|
{
|
||
|
|
signaler.Trigger();
|
||
|
|
return Task.CompletedTask;
|
||
|
|
}
|
||
|
|
}
|