コード例 #1
0
 public static Task <IEnumerable <Trigger> > FindTriggersByTypeAsync <T>(
     this ITriggerFinder triggerFinder,
     string?tenantId = default,
     int skip        = 0,
     int take        = int.MaxValue,
     CancellationToken cancellationToken = default) where T : IBookmark =>
 triggerFinder.FindTriggersByTypeAsync(typeof(T).GetSimpleAssemblyQualifiedName(), tenantId, skip, take, cancellationToken);
コード例 #2
0
 public WorkflowLaunchpad(
     IWorkflowInstanceStore workflowInstanceStore,
     IWorkflowFactory workflowFactory,
     IBookmarkFinder bookmarkFinder,
     ITriggerFinder triggerFinder,
     IDistributedLockProvider distributedLockProvider,
     IWorkflowInstanceDispatcher workflowInstanceDispatcher,
     IWorkflowInstanceExecutor workflowInstanceExecutor,
     IWorkflowRunner workflowRunner,
     IWorkflowRegistry workflowRegistry,
     IGetsStartActivities getsStartActivities,
     ElsaOptions elsaOptions,
     ILogger <WorkflowLaunchpad> logger)
 {
     _workflowInstanceStore      = workflowInstanceStore;
     _bookmarkFinder             = bookmarkFinder;
     _triggerFinder              = triggerFinder;
     _distributedLockProvider    = distributedLockProvider;
     _workflowInstanceDispatcher = workflowInstanceDispatcher;
     _elsaOptions              = elsaOptions;
     _logger                   = logger;
     _getsStartActivities      = getsStartActivities;
     _workflowRegistry         = workflowRegistry;
     _workflowRunner           = workflowRunner;
     _workflowInstanceExecutor = workflowInstanceExecutor;
     _workflowFactory          = workflowFactory;
 }
コード例 #3
0
 public static Task <IEnumerable <TriggerFinderResult> > FindTriggersAsync(
     this ITriggerFinder triggerFinder,
     string activityType,
     IBookmark bookmark,
     string?tenantId,
     CancellationToken cancellationToken = default) =>
 triggerFinder.FindTriggersAsync(activityType, new[] { bookmark }, tenantId, cancellationToken);
コード例 #4
0
 public static Task <IEnumerable <TriggerFinderResult> > FindTriggersAsync <T>(
     this ITriggerFinder triggerFinder,
     string?tenantId = default,
     int skip        = 0,
     int take        = int.MaxValue,
     CancellationToken cancellationToken = default) where T : IActivity =>
 triggerFinder.FindTriggersAsync(typeof(T).Name, Enumerable.Empty <IBookmark>(), tenantId, skip, take, cancellationToken);
コード例 #5
0
 public WorkflowStarter(ITriggerFinder triggerFinder, IWorkflowFactory workflowFactory, Func <IWorkflowBuilder> workflowBuilderFactory, IWorkflowRunner workflowRunner, IWorkflowInstanceStore workflowInstanceStore)
 {
     _triggerFinder          = triggerFinder;
     _workflowFactory        = workflowFactory;
     _workflowBuilderFactory = workflowBuilderFactory;
     _workflowRunner         = workflowRunner;
     _workflowInstanceStore  = workflowInstanceStore;
 }
コード例 #6
0
 public static Task <IEnumerable <TriggerFinderResult> > FindTriggersAsync(
     this ITriggerFinder triggerFinder,
     string activityType,
     IBookmark bookmark,
     string?tenantId = default,
     int skip        = 0,
     int take        = int.MaxValue,
     CancellationToken cancellationToken = default) =>
 triggerFinder.FindTriggersAsync(activityType, new[] { bookmark }, tenantId, skip, take, cancellationToken);
コード例 #7
0
 public TriggerWorkflows(
     IWorkflowInstanceStore workflowInstanceStore,
     IBookmarkFinder bookmarkFinder,
     ITriggerFinder triggerFinder,
     IDistributedLockProvider distributedLockProvider,
     IMediator mediator,
     ElsaOptions elsaOptions,
     ILogger <TriggerWorkflows> logger)
 {
     _workflowInstanceStore   = workflowInstanceStore;
     _bookmarkFinder          = bookmarkFinder;
     _triggerFinder           = triggerFinder;
     _distributedLockProvider = distributedLockProvider;
     _mediator    = mediator;
     _elsaOptions = elsaOptions;
     _logger      = logger;
 }
コード例 #8
0
 public WorkflowStarter(
     ITriggerFinder triggerFinder,
     IWorkflowFactory workflowFactory,
     Func <IWorkflowBuilder> workflowBuilderFactory,
     IWorkflowRunner workflowRunner,
     IWorkflowInstanceStore workflowInstanceStore,
     IWorkflowStorageService workflowStorageService,
     IWorkflowRegistry workflowRegistry)
 {
     _triggerFinder          = triggerFinder;
     _workflowFactory        = workflowFactory;
     _workflowBuilderFactory = workflowBuilderFactory;
     _workflowRunner         = workflowRunner;
     _workflowInstanceStore  = workflowInstanceStore;
     _workflowStorageService = workflowStorageService;
     _workflowRegistry       = workflowRegistry;
 }
コード例 #9
0
        public StartJobs(
            IBookmarkFinder bookmarkFinder,
            ITriggerFinder triggerFinder,
            IDistributedLockProvider distributedLockProvider,
            ICommandSender commandSender,
            ILogger <StartJobs> logger)
        {
            _bookmarkFinder          = bookmarkFinder;
            _triggerFinder           = triggerFinder;
            _distributedLockProvider = distributedLockProvider;
            _commandSender           = commandSender;
            _logger = logger;

            _retryPolicy = Policy
                           .Handle <Exception>()
                           .WaitAndRetryForeverAsync(_ => TimeSpan.FromSeconds(5)
                                                     );
        }
コード例 #10
0
 public static Task <IEnumerable <TriggerFinderResult> > FindTriggersAsync <T>(
     this ITriggerFinder triggerFinder,
     IBookmark bookmark,
     string?tenantId,
     CancellationToken cancellationToken = default) where T : IActivity =>
 triggerFinder.FindTriggersAsync(typeof(T).Name, new[] { bookmark }, tenantId, cancellationToken);
コード例 #11
0
 public SchedulePublishedWorkflows(IWorkflowScheduler workflowScheduler, ITriggerFinder triggerFinder, ILogger <SchedulePublishedWorkflows> logger)
 {
     _workflowScheduler = workflowScheduler;
     _triggerFinder     = triggerFinder;
     _logger            = logger;
 }