using LifePayment.Application.Contracts; using LifePayment.Domain; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp.BackgroundWorkers; using Volo.Abp.Threading; using Volo.Abp.Uow; namespace LifePayment.Worker.Worker { public class GetStaticsWorker : AsyncPeriodicBackgroundWorkerBase { private readonly IStatisticsService _statisticService; private readonly int _doWorkHour = 0; private readonly int _doWorkMinute = 30; public GetStaticsWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory, IStatisticsService statisticService) : base(timer, serviceScopeFactory) { _statisticService = statisticService; timer.Period = PeriodTool.CalcuPeriodFromEveryDayTime(_doWorkHour, _doWorkMinute, 0); //timer.Period =1 * 60000; } [UnitOfWork] protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) { try { await _statisticService.GetTopStatistics(new List()); Logger.LogError($"获取统计信息开始: {DateTime.Now}"); } catch (Exception ex) { Logger.LogError($"获取统计信息错误: {DateTime.Now}" + ex.Message); } } } }