feat: 支持hangfire
This commit is contained in:
@@ -1,13 +1,12 @@
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Quartz;
|
using Volo.Abp.BackgroundWorkers.Hangfire;
|
||||||
using Volo.Abp.BackgroundWorkers.Quartz;
|
|
||||||
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
||||||
|
|
||||||
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自动下架商品
|
/// 自动下架商品
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class AutoPassInGoodsJob: QuartzBackgroundWorkerBase
|
public class AutoPassInGoodsJob: HangfireBackgroundWorkerBase
|
||||||
{
|
{
|
||||||
private readonly MarketManager _marketManager;
|
private readonly MarketManager _marketManager;
|
||||||
private readonly ILogger<AutoPassInGoodsJob> _logger;
|
private readonly ILogger<AutoPassInGoodsJob> _logger;
|
||||||
@@ -15,23 +14,25 @@ public class AutoPassInGoodsJob: QuartzBackgroundWorkerBase
|
|||||||
{
|
{
|
||||||
_marketManager = marketManager;
|
_marketManager = marketManager;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
JobDetail = JobBuilder.Create<AutoPassInGoodsJob>().WithIdentity(nameof(AutoPassInGoodsJob))
|
RecurringJobId = "交易市场自动流拍";
|
||||||
.Build();
|
|
||||||
|
|
||||||
//每小时,第10分钟执行一次
|
//每小时,第10分钟执行一次
|
||||||
Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
|
CronExpression = "0 10 * * * ?";
|
||||||
// .WithSimpleSchedule((builer) =>
|
//
|
||||||
// {
|
// JobDetail = JobBuilder.Create<AutoPassInGoodsJob>().WithIdentity(nameof(AutoPassInGoodsJob))
|
||||||
// builer.WithIntervalInHours(10);
|
// .Build();
|
||||||
// })
|
//
|
||||||
// .StartNow()
|
// //每小时,第10分钟执行一次
|
||||||
.WithCronSchedule("0 10 * * * ?")
|
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoPassInGoodsJob))
|
||||||
.Build();
|
// // .WithSimpleSchedule((builer) =>
|
||||||
|
// // {
|
||||||
|
// // builer.WithIntervalInHours(10);
|
||||||
|
// // })
|
||||||
|
// // .StartNow()
|
||||||
|
// .WithCronSchedule("0 10 * * * ?")
|
||||||
|
// .Build();
|
||||||
}
|
}
|
||||||
|
public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||||
|
|
||||||
public override async Task Execute(IJobExecutionContext context)
|
|
||||||
{
|
{
|
||||||
await _marketManager.AutoPassInGoodsAsync();
|
await _marketManager.AutoPassInGoodsAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using Quartz;
|
using Volo.Abp.BackgroundWorkers.Hangfire;
|
||||||
using Volo.Abp.BackgroundWorkers.Quartz;
|
|
||||||
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
||||||
|
|
||||||
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
||||||
@@ -7,21 +6,26 @@ namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自动刷新填满矿池
|
/// 自动刷新填满矿池
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class AutoRefreshMiningPoolJob : QuartzBackgroundWorkerBase
|
public class AutoRefreshMiningPoolJob : HangfireBackgroundWorkerBase
|
||||||
{
|
{
|
||||||
private readonly MiningPoolManager _miningPoolManager;
|
private readonly MiningPoolManager _miningPoolManager;
|
||||||
|
|
||||||
public AutoRefreshMiningPoolJob(MiningPoolManager miningPoolManager)
|
public AutoRefreshMiningPoolJob(MiningPoolManager miningPoolManager)
|
||||||
{
|
{
|
||||||
_miningPoolManager = miningPoolManager;
|
_miningPoolManager = miningPoolManager;
|
||||||
JobDetail = JobBuilder.Create<AutoRefreshMiningPoolJob>().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<AutoRefreshMiningPoolJob>().WithIdentity(nameof(AutoRefreshMiningPoolJob))
|
||||||
|
// .Build();
|
||||||
|
//
|
||||||
|
// //每天早上10点执行一次
|
||||||
|
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
|
||||||
|
// .WithCronSchedule("0 0 10 * * ?")
|
||||||
|
// .Build();
|
||||||
|
//
|
||||||
|
|
||||||
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
|
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoRefreshMiningPoolJob))
|
||||||
// .WithSimpleSchedule((schedule) =>
|
// .WithSimpleSchedule((schedule) =>
|
||||||
@@ -31,10 +35,9 @@ public class AutoRefreshMiningPoolJob : QuartzBackgroundWorkerBase
|
|||||||
// .StartNow()
|
// .StartNow()
|
||||||
// .Build();
|
// .Build();
|
||||||
}
|
}
|
||||||
|
public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||||
public override async Task Execute(IJobExecutionContext context)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
//刷新矿池
|
//刷新矿池
|
||||||
await _miningPoolManager.RefreshMiningPoolAsync();
|
await _miningPoolManager.RefreshMiningPoolAsync();
|
||||||
//刷新用户限制
|
//刷新用户限制
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Quartz;
|
using Volo.Abp.BackgroundWorkers.Hangfire;
|
||||||
using Volo.Abp.BackgroundWorkers.Quartz;
|
|
||||||
using Yi.Framework.DigitalCollectibles.Domain.Entities;
|
|
||||||
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
using Yi.Framework.DigitalCollectibles.Domain.Managers;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
|
||||||
|
|
||||||
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 处理挂机挖矿定时任务
|
/// 处理挂机挖矿定时任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase
|
public class OnHookAutoMiningJob : HangfireBackgroundWorkerBase
|
||||||
{
|
{
|
||||||
private readonly MiningPoolManager _miningPoolManager;
|
private readonly MiningPoolManager _miningPoolManager;
|
||||||
private readonly ILogger<OnHookAutoMiningJob> _logger;
|
private readonly ILogger<OnHookAutoMiningJob> _logger;
|
||||||
@@ -19,17 +16,21 @@ public class OnHookAutoMiningJob : QuartzBackgroundWorkerBase
|
|||||||
{
|
{
|
||||||
_miningPoolManager = miningPoolManager;
|
_miningPoolManager = miningPoolManager;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
JobDetail = JobBuilder.Create<OnHookAutoMiningJob>().WithIdentity(nameof(OnHookAutoMiningJob))
|
|
||||||
.Build();
|
RecurringJobId = "自动挂机挖矿";
|
||||||
|
|
||||||
//每小时执行一次
|
//每小时执行一次
|
||||||
Trigger = TriggerBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob))
|
CronExpression = "0 0 * * * ?";
|
||||||
// .WithCronSchedule("10 * * * * ?")
|
//
|
||||||
.WithCronSchedule("0 0 * * * ?")
|
// JobDetail = JobBuilder.Create<OnHookAutoMiningJob>().WithIdentity(nameof(OnHookAutoMiningJob))
|
||||||
.Build();
|
// .Build();
|
||||||
|
//
|
||||||
|
// //每小时执行一次
|
||||||
|
// Trigger = TriggerBuilder.Create().WithIdentity(nameof(OnHookAutoMiningJob))
|
||||||
|
// // .WithCronSchedule("10 * * * * ?")
|
||||||
|
// .WithCronSchedule("0 0 * * * ?")
|
||||||
|
// .Build();
|
||||||
}
|
}
|
||||||
|
public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||||
public override async Task Execute(IJobExecutionContext context)
|
|
||||||
{
|
{
|
||||||
await _miningPoolManager.OnHookMiningAsync();
|
await _miningPoolManager.OnHookMiningAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\..\framework\Yi.Framework.BackgroundWorkers.Hangfire\Yi.Framework.BackgroundWorkers.Hangfire.csproj" />
|
||||||
<ProjectReference Include="..\..\..\framework\Yi.Framework.Ddd.Application\Yi.Framework.Ddd.Application.csproj" />
|
<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.Application.Contracts\Yi.Framework.DigitalCollectibles.Application.Contracts.csproj" />
|
||||||
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
|
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
|
||||||
<PackageReference Include="Volo.Abp.BackgroundWorkers.Quartz" Version="$(AbpVersion)" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user