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<string>());
|
Logger.LogError($"获取统计信息开始: {DateTime.Now}");
|
}
|
catch (Exception ex)
|
{
|
Logger.LogError($"获取统计信息错误: {DateTime.Now}" + ex.Message);
|
}
|
|
|
}
|
}
|
|
}
|