/// <summary> /// Достает запланированные задачи, у которых близится время выполнения, и просроченные задачи и помещает их в очередь выполнения задач. /// </summary> /// <param name="context">Информация о системе, которая предоставляется библотекой Quartz.</param> public void Execute(IJobExecutionContext context) { var startOfDay = NiisAmbientContext.Current.DateTimeProvider.NowStartDateTime; var endOfDay = NiisAmbientContext.Current.DateTimeProvider.NowEndDateTime; var requestWorkflowQueueEvents = _executor .GetQuery <GetWorkflowQueueByPeriodQuery>() .Process(q => q.Execute(startOfDay, endOfDay)); foreach (var requestWorkflowQueueEvent in requestWorkflowQueueEvents) { var requestAutoEvent = WorkflowAutoExecutionEventObject.ConstructFrom(requestWorkflowQueueEvent); if (!WorkflowAutoEvents.ContainsEvent(requestAutoEvent)) { WorkflowAutoEvents.AddEvent(requestAutoEvent); } } }
public bool RemoveEvent(string workflowEventKey) { WorkflowAutoEvents.RemoveEvent(workflowEventKey); return(true); }
public void OnStop() { WorkflowAutoEvents.StopAllEvents(); _app?.Dispose(); }