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)); } }
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)); } }