[[413350]]
本文转载自微信公众号「后端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();
这是默认的迁移策略。如果架构版本不匹配,存储它将抛出InvalidOperationException,存储永远不会让您启动并运行。因此,它迫使您决定什么迁移策略最适合您,同时确保数据的安全。
这只需删除现有的Hangfire.Mongo数据库并更新模式版本。没有绒毛,准备从头开始。这是一个完美的策略,如果你在创业时把所有的工作都安排好。
这将把数据库从一个模式版本迁移到下一个模式版本,直到达到所需的模式版本。并不是所有的数据都可以迁移,这就是为什么会发生一些数据丢失的原因。在投入生产前,请谨慎使用并仔细测试。我们不对数据丢失负责。
注意:只支持前向迁移。如果需要还原到以前的架构版本,则需要手动删除或还原以前的数据库。
https://github.com/sergeyzwezdin/Hangfire.Mongo
责任编辑:武晓燕 来源: 后端Q MongoDB存储Hangfire
(责任编辑:焦点)
中国海油有限海南分公司一季度天然气增幅54% 有效保障粤港琼天然气需求
传苹果正在开发心电图仪,未来 AppleWatch 可能帮你“逃过一劫”
EA宣布新游《EA Sports WRC》将于11月3日正式发售
正商实业(00185.HK)年度纯利跌32.0% 每股基本盈利为人民币7.04分
秒杀仓库员,全球最佳机器人Skypod,每小时可完成400个产品拣选