Exemple #1
0
        /// <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);
 }
Exemple #3
0
 public void OnStop()
 {
     WorkflowAutoEvents.StopAllEvents();
     _app?.Dispose();
 }