public void Start() { _shutdown = false; QueueProvider.Start().Wait(); LockProvider.Start().Wait(); for (int i = 0; i < Options.ThreadCount; i++) { Logger.LogInformation("Starting worker thread #{0}", i); IWorkflowThread thread = _serviceProvider.GetService <IWorkflowThread>(); _workers.Add(thread); thread.Start(); } Logger.LogInformation("Starting publish thread"); IEventThread pubThread = _serviceProvider.GetService <IEventThread>(); _workers.Add(pubThread); pubThread.Start(); Logger.LogInformation("Starting poller"); IRunnablePoller poller = _serviceProvider.GetService <IRunnablePoller>(); _workers.Add(poller); poller.Start(); }
public TaskRunner(IWorkflowThread <JobResult> threadHandler = null) { _workflow = new List <IAutomatedJob>(); _runtime = ServiceRepo.Instance.GetServiceOf <TaskRuntime>(); _workflowThread = threadHandler ?? _runtime.ServiceProvider.GetServiceOf <IWorkflowThread <JobResult> >(); // new WorkflowThread(); }