让 Hangfire 使用 MongoDB 存储
生活随笔
收集整理的這篇文章主要介紹了
让 Hangfire 使用 MongoDB 存储
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MongoDB 支持Hangfire庫。通過使用這個庫,您可以將所有作業(yè)信息存儲在 MongoDB 中。
要安裝 Hangfire MongoDB Storage,請在 Nuget 包管理器控制臺中運行以下命令:
PM>?Install-Package?Hangfire.Mongopublic?void?ConfigureServices(IServiceCollection?services) {var?mongoUrlBuilder?=?new?MongoUrlBuilder("mongodb://localhost/jobs");var?mongoClient?=?new?MongoClient(mongoUrlBuilder.ToMongoUrl());//?Add?Hangfire?services.?Hangfire.AspNetCore?nuget?requiredservices.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?IHostedServiceservices.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數據庫并更新模式版本。沒有絨毛,準備從頭開始。這是一個完美的策略,如果你在創(chuàng)業(yè)時把所有的工作都安排好。
Migrate
這將把數據庫從一個模式版本遷移到下一個模式版本,直到達到所需的模式版本。并不是所有的數據都可以遷移,這就是為什么會發(fā)生一些數據丟失的原因。在投入生產前,請謹慎使用并仔細測試。我們不對數據丟失負責。
注意:只支持前向遷移。如果需要還原到以前的架構版本,則需要手動刪除或還原以前的數據庫。
https://github.com/sergeyzwezdin/Hangfire.Mongo
總結
以上是生活随笔為你收集整理的让 Hangfire 使用 MongoDB 存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF开源项目:AIStudio.Wpf
- 下一篇: C#新手该如何规划学习【学习路线指南】