public WorkflowController(IPersistenceProvider persistenceStore, IDistributedLockProvider lockProvider, IWorkflowRegistry registry, IQueueProvider queueProvider, IExecutionPointerFactory pointerFactory, ILoggerFactory loggerFactory) { _persistenceStore = persistenceStore; _lockProvider = lockProvider; _registry = registry; _queueProvider = queueProvider; _pointerFactory = pointerFactory; _logger = loggerFactory.CreateLogger <WorkflowController>(); }
public EventConsumer(IWorkflowRepository workflowRepository, ISubscriptionRepository subscriptionRepository, IEventRepository eventRepository, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, WorkflowOptions options, IDateTimeProvider datetimeProvider) : base(queueProvider, loggerFactory, options) { _workflowRepository = workflowRepository; _subscriptionRepository = subscriptionRepository; _eventRepository = eventRepository; _lockProvider = lockProvider; _datetimeProvider = datetimeProvider; }
public RunnablePoller(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IGreyList greylist, WorkflowOptions options) { _persistenceStore = persistenceStore; _greylist = greylist; _queueProvider = queueProvider; _logger = loggerFactory.CreateLogger <RunnablePoller>(); _lockProvider = lockProvider; _options = options; }
public WorkflowConsumer(IPersistenceProvider persistenceProvider, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IWorkflowExecutor executor, IDateTimeProvider datetimeProvider, IGreyList greylist, WorkflowOptions options) : base(queueProvider, loggerFactory, options) { _persistenceStore = persistenceProvider; _greylist = greylist; _executor = executor; _lockProvider = lockProvider; _datetimeProvider = datetimeProvider; }
public LockingWorkflowRunner( IWorkflowRunner workflowRunner, IDistributedLockProvider distributedLockProvider, ElsaOptions elsaOptions) { _workflowRunner = workflowRunner; _distributedLockProvider = distributedLockProvider; _elsaOptions = elsaOptions; }
public EventThread(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, WorkflowOptions options) { _persistenceStore = persistenceStore; _queueProvider = queueProvider; _options = options; _logger = loggerFactory.CreateLogger <EventThread>(); _lockProvider = lockProvider; _thread = new Thread(RunEvents); }
public SyncWorkflowRunner(IWorkflowHost host, IWorkflowExecutor executor, IDistributedLockProvider lockService, IWorkflowRegistry registry, IPersistenceProvider persistenceStore, IExecutionPointerFactory pointerFactory, IQueueProvider queueService) { _host = host; _executor = executor; _lockService = lockService; _registry = registry; _persistenceStore = persistenceStore; _pointerFactory = pointerFactory; _queueService = queueService; }
public KinesisStreamConsumer(AWSCredentials credentials, RegionEndpoint region, IKinesisTracker tracker, IDistributedLockProvider lockManager, ILoggerFactory logFactory, IDateTimeProvider dateTimeProvider) { _logger = logFactory.CreateLogger(GetType()); _tracker = tracker; _lockManager = lockManager; _client = new AmazonKinesisClient(credentials, region); _processTask = new Task(Process); _processTask.Start(); _dateTimeProvider = dateTimeProvider; }
public ContinueRunningWorkflows( IWorkflowInstanceStore workflowInstanceStore, IWorkflowInstanceDispatcher workflowInstanceDispatcher, IDistributedLockProvider distributedLockProvider, ILogger <ContinueRunningWorkflows> logger) { _workflowInstanceStore = workflowInstanceStore; _workflowInstanceDispatcher = workflowInstanceDispatcher; _distributedLockProvider = distributedLockProvider; _logger = logger; }
public WorkflowThread(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IWorkflowExecutor executor, WorkflowOptions options) { _persistenceStore = persistenceStore; _queueProvider = queueProvider; _executor = executor; _options = options; _logger = loggerFactory.CreateLogger <WorkflowThread>(); _lockProvider = lockProvider; _thread = new Thread(RunWorkflows); persistenceStore.EnsureStoreExists(); }
public WorkflowController(IPersistenceProvider persistenceStore, IDistributedLockProvider lockProvider, IWorkflowRegistry registry, IQueueProvider queueProvider, IExecutionPointerFactory pointerFactory, ILifeCycleEventHub eventHub, ISearchIndex searchIndex, ILoggerFactory loggerFactory) { _persistenceStore = persistenceStore; _lockProvider = lockProvider; _registry = registry; _queueProvider = queueProvider; _pointerFactory = pointerFactory; _eventHub = eventHub; _searchIndex = searchIndex; _logger = loggerFactory.CreateLogger <WorkflowController>(); }
public WorkflowHost(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, WorkflowOptions options, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider) { PersistenceStore = persistenceStore; QueueProvider = queueProvider; Options = options; Logger = loggerFactory.CreateLogger <WorkflowHost>(); _serviceProvider = serviceProvider; Registry = registry; LockProvider = lockProvider; persistenceStore.EnsureStoreExists(); }
public LockingWorkflowInstanceExecutor( IWorkflowInstanceExecutor workflowInstanceExecutor, IDistributedLockProvider distributedLockProvider, ElsaOptions elsaOptions, ILogger <LockingWorkflowInstanceExecutor> logger) { _workflowInstanceExecutor = workflowInstanceExecutor; _distributedLockProvider = distributedLockProvider; _elsaOptions = elsaOptions; _logger = logger; }
public WorkflowController(IPersistenceProvider persistenceStore, IDistributedLockProvider lockProvider, IWorkflowRegistry registry, IQueueProvider queueProvider, IExecutionPointerFactory pointerFactory, ILifeCycleEventHub eventHub, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowMiddlewareRunner middlewareRunner) { _persistenceStore = persistenceStore; _lockProvider = lockProvider; _registry = registry; _queueProvider = queueProvider; _pointerFactory = pointerFactory; _eventHub = eventHub; _serviceProvider = serviceProvider; _middlewareRunner = middlewareRunner; _logger = loggerFactory.CreateLogger <WorkflowController>(); }
public WorkflowHost(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, WorkflowOptions options, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IEnumerable <IBackgroundTask> backgroundTasks, IWorkflowController workflowController) { PersistenceStore = persistenceStore; QueueProvider = queueProvider; Options = options; Logger = loggerFactory.CreateLogger <WorkflowHost>(); _serviceProvider = serviceProvider; Registry = registry; LockProvider = lockProvider; _backgroundTasks = backgroundTasks; _workflowController = workflowController; }
public PurgeSubscriptions( IServiceBusFactory serviceBusFactory, ElsaOptions elsaOptions, ILogger logger, IDistributedLockProvider distributedLockProvider, string connectionString) { _serviceBusFactory = serviceBusFactory; _elsaOptions = elsaOptions; _logger = logger; _distributedLockProvider = distributedLockProvider; _managementClient = new ServiceBusAdministrationClient(connectionString); }
public StartJobs(IBookmarkFinder bookmarkFinder, IWorkflowInstanceScheduler workflowScheduler, IDistributedLockProvider distributedLockProvider, ILogger <StartJobs> logger) { _bookmarkFinder = bookmarkFinder; _workflowScheduler = workflowScheduler; _distributedLockProvider = distributedLockProvider; _logger = logger; _retryPolicy = Policy .Handle <Exception>() .WaitAndRetryForeverAsync(retryAttempt => TimeSpan.FromSeconds(5) ); }
public LocalStorageModuleCatalog(IOptions <LocalStorageModuleCatalogOptions> options, IDistributedLockProvider distributedLockProvider, ILogger <LocalStorageModuleCatalog> logger) { _options = options.Value; _discoveryPath = _options.DiscoveryPath; if (!_discoveryPath.EndsWith(PlatformInformation.DirectorySeparator)) { _discoveryPath += PlatformInformation.DirectorySeparator; } // Resolve IConnectionMultiplexer as multiple services to avoid crash if the platform ran without Redis // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-3.1#service-registration-methods _distributedLockProvider = distributedLockProvider; _logger = logger; }
public WorkflowHost(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, WorkflowOptions options, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IEnumerable <IBackgroundTask> backgroundTasks, IWorkflowController workflowController, ILifeCycleEventHub lifeCycleEventHub) { PersistenceStore = persistenceStore; QueueProvider = queueProvider; Options = options; Logger = loggerFactory.CreateLogger <WorkflowHost>(); _serviceProvider = serviceProvider; Registry = registry; LockProvider = lockProvider; _backgroundTasks = backgroundTasks; _workflowController = workflowController; persistenceStore.EnsureStoreExists(); lifeCycleEventHub.Subscribe(HandleLifeCycleEvent); }
public WorkflowHost(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, WorkflowOptions options, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IEnumerable <IBackgroundTask> backgroundTasks, IWorkflowController workflowController, ILifeCycleEventHub lifeCycleEventHub, ISearchIndex searchIndex, IActivityController activityController) { PersistenceStore = persistenceStore; QueueProvider = queueProvider; Options = options; Logger = loggerFactory.CreateLogger <WorkflowHost>(); _serviceProvider = serviceProvider; Registry = registry; LockProvider = lockProvider; _backgroundTasks = backgroundTasks; _workflowController = workflowController; _searchIndex = searchIndex; _activityController = activityController; _lifeCycleEventHub = lifeCycleEventHub; }
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; }
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) ); }
public CreateSubscriptions(IServiceBusFactory serviceBusFactory, ElsaOptions elsaOptions, IContainerNameAccessor containerNameAccessor, IDistributedLockProvider distributedLockProvider) { _serviceBusFactory = serviceBusFactory; _elsaOptions = elsaOptions; _containerNameAccessor = containerNameAccessor; _distributedLockProvider = distributedLockProvider; _competingMessageTypes = elsaOptions.CompetingMessageTypes.ToList(); _pubSubMessageTypes = elsaOptions.PubSubMessageTypes; var workflowChannelOptions = elsaOptions.WorkflowChannelOptions; var workflowChannels = workflowChannelOptions.Channels.ToList(); // For each workflow channel, register a competing message type for workflow definition and workflow instance consumers. foreach (var workflowChannel in workflowChannels) { _competingMessageTypes.Add(new MessageTypeConfig(typeof(ExecuteWorkflowDefinitionRequest), ElsaOptions.FormatChannelQueueName("ExecuteWorkflow", workflowChannel))); _competingMessageTypes.Add(new MessageTypeConfig(typeof(ExecuteWorkflowInstanceRequest), ElsaOptions.FormatChannelQueueName("ExecuteWorkflow", workflowChannel))); } }
public void Setup() { Subject = CreateProvider(); Subject.Start(); }
public DistributedLock(string name, string key, IDistributedLockProvider provider, DistributedLockOptions options, ILoggerFactory loggerFactory = null) : base($"{name}/{key}") { _provider = provider; _options = options; _logger = loggerFactory?.CreateLogger(GetType().FullName); }
public WorkflowConsumer(IPooledObjectPolicy <IPersistenceProvider> persistencePoolPolicy, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IServiceProvider serviceProvider, IWorkflowRegistry registry, IDistributedLockProvider lockProvider, IPooledObjectPolicy <IWorkflowExecutor> executorPoolPolicy, IDateTimeProvider datetimeProvider, WorkflowOptions options) : base(queueProvider, loggerFactory, options) { _persistenceStorePool = new DefaultObjectPool <IPersistenceProvider>(persistencePoolPolicy); _executorPool = new DefaultObjectPool <IWorkflowExecutor>(executorPoolPolicy); _lockProvider = lockProvider; _datetimeProvider = datetimeProvider; }
public CheckRunHandler(IGlobalConfigurationProvider globalConfigurationProvider, IGitHubClientProvider gitHubCLientProvider, IRepositoryConfigurationProvider repositoryConfigurationProvider, IDistributedLockProvider distributedLockProvider, ILogger logger) : base(globalConfigurationProvider, gitHubCLientProvider, repositoryConfigurationProvider, distributedLockProvider, logger) { }
internal DistributedLockProxy(IDistributedLockProvider provider, string name) { _provider = provider; _name = name; }
public QuartzWorkflowDefinitionScheduler(QuartzSchedulerProvider schedulerProvider, IDistributedLockProvider distributedLockProvider, ElsaOptions elsaOptions, ILogger <QuartzWorkflowDefinitionScheduler> logger) { _schedulerProvider = schedulerProvider; _distributedLockProvider = distributedLockProvider; _elsaOptions = elsaOptions; _logger = logger; }
public EventConsumer(IPersistenceProvider persistenceStore, IQueueProvider queueProvider, ILoggerFactory loggerFactory, IDistributedLockProvider lockProvider, WorkflowOptions options) : base(queueProvider, loggerFactory, options) { _persistenceStore = persistenceStore; _lockProvider = lockProvider; }