示例#1
0
        private void DoTask()
        {
            try
            {
                _batchConfig.SetSchedulerTime(DateTime.Now);
                _batch.SetBatchConfig(_batchConfig);
                _batch.Prepare();
                while (_isRunning)
                {
                    if (!_batch.IsRun())
                    {
                        return;
                    }

                    Log.Info($"{_batchConfig.BatchName}当前执行{_batchConfig.SchedulerTime}");

                    _batch.Execute();
                    _batch.Clear();
                    Log.Info($"{_batchConfig.BatchName}执行完成{_batchConfig.SchedulerTime}");
                    _batch.UpdateTimeStamp(_timeSpan);
                    Thread.Sleep(_timeSpan);
                }
            }
            catch (Exception ex)
            {
                EmailErr(new AggregateException("执行错误", ex));
            }
        }
示例#2
0
 private void DoTask()
 {
     while (_isRunning)
     {
         _batchConfig.SetSchedulerTime(DateTime.Now);
         Log.Info(string.Format("{0}当前执行{1}", _batchConfig.BatchName, _batchConfig.SchedulerTime));
         try
         {
             var batch = new T();
             BatchExtension.RunBatch(batch, _batchConfig);
             var timeSpan = batch.GetSleepTimeSpan();
             batch.UpdateTimeStamp(timeSpan);
             Thread.Sleep(timeSpan);
         }
         catch (Exception ex)
         {
             EmailErr(new AggregateException("执行错误", ex));
         }
         Log.Info(string.Format("{0}执行完成{1}", _batchConfig.BatchName, _batchConfig.SchedulerTime));
     }
 }