会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 让 Hangfire 使用 MongoDB 存储!

让 Hangfire 使用 MongoDB 存储

时间:2025-11-05 08:28:14 来源:益强数据堂 作者:人工智能 阅读:645次

本文转载自微信公众号「后端Q  」,存储作者conan 。存储转载本文请联系后端Q  公众号。存储

MongoDB 支持Hangfire库。存储通过使用这个库,存储您可以将所有作业信息存储在 MongoDB 中。存储

要安装 Hangfire MongoDB Storage,存储请在 Nuget 包管理器控制台中运行以下命令:

PM> Install-Package Hangfire.Mongo  public void ConfigureServices(IServiceCollection services) {     var mongoUrlBuilder = new MongoUrlBuilder("mongodb://localhost/jobs");     var mongoClient = new MongoClient(mongoUrlBuilder.ToMongoUrl());     // Add Hangfire services. Hangfire.AspNetCore nuget required     services.AddHangfire(configuration => configuration         .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)         .UseSimpleAssemblyNameTypeSerializer()         .UseRecommendedSerializerSettings()         .UseMongoStorage(mongoClient,存储 mongoUrlBuilder.DatabaseName, new MongoStorageOptions         {             MigrationOptions = new MongoMigrationOptions             {                 MigrationStrategy = new MigrateMongoMigrationStrategy(),                 BackupStrategy = new CollectionMongoBackupStrategy()             },             Prefix = "hangfire.mongo",             CheckConnection = true         })     );     // Add the processing server as IHostedService     services.AddHangfireServer(serverOptions =>     {         serverOptions.ServerName = "Hangfire.Mongo server 1";     });     // Add framework services. }  var options = new MongoStorageOptions {     MigrationOptions = new MongoMigrationOptions     {         MigrationStrategy = new DropMongoMigrationStrategy(),         BackupStrategy = new NoneMongoBackupStrategy()     } }; GlobalConfiguration.Configuration.UseMongoStorage("mongodb://localhost/jobs", options); app.UseHangfireServer(); app.UseHangfireDashboard();

Throw

这是默认的迁移策略。如果架构版本不匹配,存储它将抛出InvalidOperationException,存储永远不会让您启动并运行。存储因此,存储它迫使您决定什么迁移策略最适合您,源码库存储同时确保数据的存储安全。

Drop

这只需删除现有的存储Hangfire.Mongo数据库并更新模式版本。没有绒毛,准备从头开始。这是一个完美的策略,如果你在创业时把所有的工作都安排好。

Migrate

这将把数据库从一个模式版本迁移到下一个模式版本,直到达到所需的模式版本。亿华云并不是所有的数据都可以迁移,这就是为什么会发生一些数据丢失的原因。在投入生产前,请谨慎使用并仔细测试。我们不对数据丢失负责。

注意:只支持前向迁移。如果需要还原到以前的架构版本,则需要手动删除或还原以前的数据库。IT技术网

https://github.com/sergeyzwezdin/Hangfire.Mongo

(责任编辑:IT科技)

推荐内容
  • 惠普暗影精灵6新手教程(掌握惠普暗影精灵6,打造专业级游戏体验)
  • wkhtmltopdf:一个Linux中将网页转成PDF的智能工具
  • 人工防火墙对于确保SaaS环境的安全至关重要
  • 锂电池机房着火超30个小时,阿里云字节服务宕机,AWS趁火打劫?
  • 惠普暗影精灵6新手教程(掌握惠普暗影精灵6,打造专业级游戏体验)
  • 如何在Atomic主机上远程使用 Docker