From 644045b307aa993bf747279396091015d5347489 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Fri, 15 Nov 2024 20:24:17 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81hangfire?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Jobs/AutoPassInGoodsJob.cs | 37 ++++++++++---------
.../Jobs/AutoRefreshMiningPoolJob.cs | 29 ++++++++-------
.../Jobs/OnHookAutoMiningJob.cs | 29 ++++++++-------
...ork.DigitalCollectibles.Application.csproj | 2 +-
4 files changed, 51 insertions(+), 46 deletions(-)
diff --git a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoPassInGoodsJob.cs b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoPassInGoodsJob.cs
index aa54d1f0..f41ae580 100644
--- a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoPassInGoodsJob.cs
+++ b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoPassInGoodsJob.cs
@@ -1,13 +1,12 @@
using Microsoft.Extensions.Logging;
-using Quartz;
-using Volo.Abp.BackgroundWorkers.Quartz;
+using Volo.Abp.BackgroundWorkers.Hangfire;
using Yi.Framework.DigitalCollectibles.Domain.Managers;
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
///
/// 自动下架商品
///
-public class AutoPassInGoodsJob: QuartzBackgroundWorkerBase
+public class AutoPassInGoodsJob: HangfireBackgroundWorkerBase
{
private readonly MarketManager _marketManager;
private readonly ILogger _logger;
@@ -15,23 +14,25 @@ public class AutoPassInGoodsJob: QuartzBackgroundWorkerBase
{
_marketManager = marketManager;
_logger = logger;
- JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
- .Build();
-
+ RecurringJobId = "交易市场自动流拍";
//每小时,第10分钟执行一次
- Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
- // .WithSimpleSchedule((builer) =>
- // {
- // builer.WithIntervalInHours(10);
- // })
- // .StartNow()
- .WithCronSchedule("0 10 * * * ?")
- .Build();
+ CronExpression = "0 10 * * * ?";
+ //
+ // JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
+ // .Build();
+ //
+ // //每小时,第10分钟执行一次
+ // Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
+ // // .WithSimpleSchedule((builer) =>
+ // // {
+ // // builer.WithIntervalInHours(10);
+ // // })
+ // // .StartNow()
+ // .WithCronSchedule("0 10 * * * ?")
+ // .Build();
}
-
-
- public override async Task Execute(IJobExecutionContext context)
+ public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
{
- await _marketManager.AutoPassInGoodsAsync();
+ await _marketManager.AutoPassInGoodsAsync();
}
}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoRefreshMiningPoolJob.cs b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoRefreshMiningPoolJob.cs
index 0c94aac7..1e9237f2 100644
--- a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoRefreshMiningPoolJob.cs
+++ b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/AutoRefreshMiningPoolJob.cs
@@ -1,5 +1,4 @@
-using Quartz;
-using Volo.Abp.BackgroundWorkers.Quartz;
+using Volo.Abp.BackgroundWorkers.Hangfire;
using Yi.Framework.DigitalCollectibles.Domain.Managers;
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
@@ -7,21 +6,26 @@ namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
///
/// 自动刷新填满矿池
///
-public class AutoRefreshMiningPoolJob : QuartzBackgroundWorkerBase
+public class AutoRefreshMiningPoolJob : HangfireBackgroundWorkerBase
{
private readonly MiningPoolManager _miningPoolManager;
public AutoRefreshMiningPoolJob(MiningPoolManager miningPoolManager)
{
_miningPoolManager = miningPoolManager;
- JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
- .Build();
-
- //每天早上10点执行一次
- Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
- .WithCronSchedule("0 0 10 * * ?")
- .Build();
+ RecurringJobId = "刷新矿池和用户限制";
+ //每天早上10点执行一次
+ CronExpression = "0 0 10 * * ?";
+ //
+ // JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
+ // .Build();
+ //
+ // //每天早上10点执行一次
+ // Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
+ // .WithCronSchedule("0 0 10 * * ?")
+ // .Build();
+ //
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
// .WithSimpleSchedule((schedule) =>
@@ -31,10 +35,9 @@ public class AutoRefreshMiningPoolJob : QuartzBackgroundWorkerBase
// .StartNow()
// .Build();
}
-
- public override async Task Execute(IJobExecutionContext context)
+ public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
{
-
+
//刷新矿池
await _miningPoolManager.RefreshMiningPoolAsync();
//刷新用户限制
diff --git a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/OnHookAutoMiningJob.cs b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/OnHookAutoMiningJob.cs
index 2f43324e..e4eb842d 100644
--- a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/OnHookAutoMiningJob.cs
+++ b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Jobs/OnHookAutoMiningJob.cs
@@ -1,16 +1,13 @@
using Microsoft.Extensions.Logging;
-using Quartz;
-using Volo.Abp.BackgroundWorkers.Quartz;
-using Yi.Framework.DigitalCollectibles.Domain.Entities;
+using Volo.Abp.BackgroundWorkers.Hangfire;
using Yi.Framework.DigitalCollectibles.Domain.Managers;
-using Yi.Framework.SqlSugarCore.Abstractions;
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
///
/// 处理挂机挖矿定时任务
///
-public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase
+public class OnHookAutoMiningJob : HangfireBackgroundWorkerBase
{
private readonly MiningPoolManager _miningPoolManager;
private readonly ILogger _logger;
@@ -19,17 +16,21 @@ public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase
{
_miningPoolManager = miningPoolManager;
_logger = logger;
- JobDetail = JobBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob))
- .Build();
-
+
+ RecurringJobId = "自动挂机挖矿";
//每小时执行一次
- Trigger = TriggerBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob))
- // .WithCronSchedule("10 * * * * ?")
- .WithCronSchedule("0 0 * * * ?")
- .Build();
+ CronExpression = "0 0 * * * ?";
+ //
+ // 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)
+ public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
{
await _miningPoolManager.OnHookMiningAsync();
}
diff --git a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Yi.Framework.DigitalCollectibles.Application.csproj b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Yi.Framework.DigitalCollectibles.Application.csproj
index 91966993..00568df7 100644
--- a/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Yi.Framework.DigitalCollectibles.Application.csproj
+++ b/Yi.Abp.Net8/module/digital-collectibles/Yi.Framework.DigitalCollectibles.Application/Yi.Framework.DigitalCollectibles.Application.csproj
@@ -3,11 +3,11 @@
+
-