Blame view

Yi.Abp.Net8/src/Yi.Abp.Web/Jobs/rbac/BackupDataBaseJob.cs 1.19 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  using Microsoft.Extensions.Options;
  using Volo.Abp.BackgroundWorkers.Hangfire;
  using Yi.Framework.Rbac.Domain.Shared.Options;
  using Yi.Framework.SqlSugarCore.Abstractions;
  
  namespace Yi.Abp.Web.Jobs.rbac
  {
      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;
          }
      }
  }