让 Hangfire 使用 MongoDB 存储
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 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数据库并更新模式版本。没有绒毛,准备从头开始。这是一个完美的策略,如果你在创业时把所有的工作都安排好。
Migrate
这将把数据库从一个模式版本迁移到下一个模式版本,直到达到所需的模式版本。并不是所有的数据都可以迁移,这就是为什么会发生一些数据丢失的原因。在投入生产前,请谨慎使用并仔细测试。我们不对数据丢失负责。
注意:只支持前向迁移。如果需要还原到以前的架构版本,则需要手动删除或还原以前的数据库。
https://github.com/sergeyzwezdin/Hangfire.Mongo
让 Hangfire 使用 MongoDB 存储相关推荐
- 使用MongoDB存储Docker日志(续)
在上一篇文章<使用MongoDB存储Docker日志>中完成了Docker + Fluentd + MongoDB的基本配置.但是在实际的使用过程中,却发现Docker生成的日志并不会立即 ...
- Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一)
图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储 ...
- mongodb存储数据_在MongoDB中存储分层数据
mongodb存储数据 继续使用MongoDB进行 NoSQL之旅,我想谈一谈一个经常出现的特定用例:存储分层文档关系. MongoDB是很棒的文档数据存储,但是如果文档具有父子关系,该怎么办? 我们 ...
- Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程
Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 原文:Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 Asp.Net Cor ...
- Mongodb存储特性与内部原理
前言 本文重点叙述下mongodb存储特性和内部原理, 下一篇文章咱们一起来搭建下Replica Sets+Sharded Cluster的集群 存储引擎 wiredTiger引擎 1.3.0新增引擎 ...
- Mongodb存储二进制文件GridFS空间复用测试
Oracle可以存储二进制文件,测试后发现lob字段再数据delete后表空间不能被复用,考虑将数据存储在mongodb中,mongodb存在GridFS,测试GridFS是否也存在相同的情况 mon ...
- MongoDB存储原理和基本概念
mongodb基本概念 ①.mongodb是属于文档型的非关系型数据库 ②. mongodb 数据库和关系型数据库概念一致,mongodb集合就是关系型数据库的表, mongodb文档就是关系型数据库 ...
- mongodb存储二进制数据的二种方式——binary bson或gridfs
python 版本为2.7 mongodb版本2.6.5 使用mongodb存储文件,可以使用两种方式,一种是像存储普通数据那样,将文件转化为二进制数据存入mongodb,另一种使用gridfs,咱们 ...
- MongoDB存储基础教程
一.MongoDB简介 1. mangodb是一种基于分布式.文件存储的非关系型数据库 2. C++写的,性能高 3. 为web应用提供可扩展的高性能数据存储解决方案 4. 所支持的格式是json格式 ...
最新文章
- springioc注解版运行效果演示
- 【Java】浅析神奇的this
- 洞察CRM对企业的真正价值
- GF4各波段太阳辐照度
- BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞
- 新安装的mysql设置密码
- retainAll()和removeAll()
- 【Word】无分页符却出现异常分页情况
- IROS2020 论文阅读
- 2023年全国最新二级建造师精选真题及答案52
- 地产AR模拟看房软件开发
- Duang! 工商银行也要做电商?
- 电视剧《天道》里的商业思维
- 改善编程体验: IdeaVimExtension介绍
- 硬件设计开发全套软件
- STM32F030 RTC内部晶振/外部晶振/闹钟
- ACM 广搜 Hero In Maze
- 判断腾讯QQ是否在线
- RSA加密算法(公钥+私钥加密)
- 百度地图API 实现地图多点标注