feat: 完成job模块优化

This commit is contained in:
橙子
2025-02-23 01:31:30 +08:00
parent f8a4c737ee
commit f6b19ec2a5
20 changed files with 40 additions and 66 deletions

View File

@@ -1,42 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.BackgroundWorkers.Hangfire;
using Volo.Abp.Domain.Repositories;
using Yi.Framework.Rbac.Domain.Shared.Options;
using Yi.Framework.SqlSugarCore.Abstractions;
namespace Yi.Framework.Rbac.Application.Jobs
{
public class BackupDataBaseJob: HangfireBackgroundWorkerBase
{
private ISqlSugarDbContext _dbContext;
private IOptions<RbacOptions> _options;
public BackupDataBaseJob(ISqlSugarDbContext dbContext, IOptions<RbacOptions> options)
{
_options = options;
_dbContext = dbContext;
RecurringJobId = "数据库备份";
//每天00点与24点进行备份
CronExpression = "0 0 0,12 * * ? ";
}
public override Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
{
if (_options.Value.EnableDataBaseBackup)
{
var logger = LoggerFactory.CreateLogger<BackupDataBaseJob>();
logger.LogWarning("正在进行数据库备份");
_dbContext.BackupDataBase();
logger.LogWarning("数据库备份已完成");
}
return Task.CompletedTask;
}
}
}

View File

@@ -18,7 +18,6 @@
<ProjectReference Include="..\..\..\framework\Yi.Framework.Ddd.Application\Yi.Framework.Ddd.Application.csproj" />
<ProjectReference Include="..\Yi.Framework.Rbac.Application.Contracts\Yi.Framework.Rbac.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.Rbac.Domain\Yi.Framework.Rbac.Domain.csproj" />
<ProjectReference Include="..\..\..\framework\Yi.Framework.BackgroundWorkers.Hangfire\Yi.Framework.BackgroundWorkers.Hangfire.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,12 +1,7 @@
using Lazy.Captcha.Core.Generator;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.BackgroundWorkers;
using Volo.Abp.BackgroundWorkers.Hangfire;
using Volo.Abp.Modularity;
using Yi.Framework.Ddd.Application;
using Yi.Framework.Rbac.Application.Contracts;
using Yi.Framework.Rbac.Application.Jobs;
using Yi.Framework.Rbac.Domain;
namespace Yi.Framework.Rbac.Application