feat: 完成基础框架搭建

This commit is contained in:
橙子
2024-10-15 21:50:31 +08:00
parent e8fcab4c6b
commit a0ef3af155
9 changed files with 181 additions and 28 deletions

View File

@@ -1,9 +1,29 @@
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
using Quartz;
using Volo.Abp.BackgroundWorkers.Quartz;
using Yi.Framework.DigitalCollectibles.Domain.Managers;
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
/// <summary>
/// 自动刷新填满矿池
/// </summary>
public class AutoRefreshMiningPoolJob
public class AutoRefreshMiningPoolJob : QuartzBackgroundWorkerBase
{
private readonly MiningPoolManager _miningPoolManager;
public AutoRefreshMiningPoolJob()
{
JobDetail = JobBuilder.Create<AutoRefreshMiningPoolJob>().WithIdentity(nameof(AutoRefreshMiningPoolJob))
.Build();
//每天早上10点执行一次
Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
.WithCronSchedule("0 0 10 * * ?")
.Build();
}
public override async Task Execute(IJobExecutionContext context)
{
await _miningPoolManager.RefreshMiningPoolAsync();
}
}

View File

@@ -1,9 +1,32 @@
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
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;
/// <summary>
/// 处理挂机挖矿定时任务
/// </summary>
public class OnHookAutoMiningJob
public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase
{
private readonly MiningPoolManager _miningPoolManager;
public OnHookAutoMiningJob(MiningPoolManager miningPoolManager)
{
_miningPoolManager = miningPoolManager;
JobDetail = JobBuilder.Create<AutoRefreshMiningPoolJob>().WithIdentity(nameof(AutoRefreshMiningPoolJob))
.Build();
//每小时执行一次
Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
.WithCronSchedule("0 0 * * * ?")
.Build();
}
public override async Task Execute(IJobExecutionContext context)
{
await _miningPoolManager.OnHookMiningAsync();
}
}

View File

@@ -6,6 +6,7 @@
<ProjectReference Include="..\..\..\framework\Yi.Framework.Ddd.Application\Yi.Framework.Ddd.Application.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Application.Contracts\Yi.Framework.DigitalCollectibles.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
<PackageReference Include="Volo.Abp.BackgroundWorkers.Quartz" Version="$(AbpVersion)" />
</ItemGroup>