using LifePayment.Application.Contracts; using LifePayment.Domain; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; 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 ILifePayService _lifePayService; private readonly int _doWorkHour = 0; private readonly int _doWorkMinute = 30; public GetStaticsWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory, ILifePayService lifePayService) : base(timer, serviceScopeFactory) { _lifePayService = lifePayService; timer.Period = PeriodTool.CalcuPeriodFromEveryDayTime(_doWorkHour, _doWorkMinute, 0); //timer.Period =5 * 60000; } [UnitOfWork] protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) { try { await _lifePayService.GetTopStatistics(); Logger.LogError($"获取统计信息开始: {DateTime.Now}"); } catch (Exception ex) { Logger.LogError($"获取统计信息错误: {DateTime.Now}" + ex.Message); } } } }