using Microsoft.Extensions.Logging; using Quartz; using Volo.Abp.BackgroundWorkers.Quartz; using Yi.Framework.DigitalCollectibles.Domain.Entities; using Yi.Framework.DigitalCollectibles.Domain.Managers; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.DigitalCollectibles.Application.Jobs; /// /// 处理挂机挖矿定时任务 /// public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase { private readonly MiningPoolManager _miningPoolManager; private readonly ILogger _logger; public OnHookAutoMiningJob(MiningPoolManager miningPoolManager, ILogger logger) { _miningPoolManager = miningPoolManager; _logger = logger; JobDetail = JobBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob)) .Build(); //每小时执行一次 Trigger = TriggerBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob)) // .WithCronSchedule("10 * * * * ?") .WithCronSchedule("0 0 * * * ?") .Build(); } public override async Task Execute(IJobExecutionContext context) { await _miningPoolManager.OnHookMiningAsync(); } }