Пример #1
0
        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();
        }
Пример #2
0
 public TaskRunner(IWorkflowThread <JobResult> threadHandler = null)
 {
     _workflow       = new List <IAutomatedJob>();
     _runtime        = ServiceRepo.Instance.GetServiceOf <TaskRuntime>();
     _workflowThread = threadHandler ?? _runtime.ServiceProvider.GetServiceOf <IWorkflowThread <JobResult> >(); // new WorkflowThread();
 }