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 存储相关推荐

  1. 使用MongoDB存储Docker日志(续)

    在上一篇文章<使用MongoDB存储Docker日志>中完成了Docker + Fluentd + MongoDB的基本配置.但是在实际的使用过程中,却发现Docker生成的日志并不会立即 ...

  2. Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一)

    图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储 ...

  3. mongodb存储数据_在MongoDB中存储分层数据

    mongodb存储数据 继续使用MongoDB进行 NoSQL之旅,我想谈一谈一个经常出现的特定用例:存储分层文档关系. MongoDB是很棒的文档数据存储,但是如果文档具有父子关系,该怎么办? 我们 ...

  4. Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程

    Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 原文:Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 Asp.Net Cor ...

  5. Mongodb存储特性与内部原理

    前言 本文重点叙述下mongodb存储特性和内部原理, 下一篇文章咱们一起来搭建下Replica Sets+Sharded Cluster的集群 存储引擎 wiredTiger引擎 1.3.0新增引擎 ...

  6. Mongodb存储二进制文件GridFS空间复用测试

    Oracle可以存储二进制文件,测试后发现lob字段再数据delete后表空间不能被复用,考虑将数据存储在mongodb中,mongodb存在GridFS,测试GridFS是否也存在相同的情况 mon ...

  7. MongoDB存储原理和基本概念

    mongodb基本概念 ①.mongodb是属于文档型的非关系型数据库 ②. mongodb 数据库和关系型数据库概念一致,mongodb集合就是关系型数据库的表, mongodb文档就是关系型数据库 ...

  8. mongodb存储二进制数据的二种方式——binary bson或gridfs

    python 版本为2.7 mongodb版本2.6.5 使用mongodb存储文件,可以使用两种方式,一种是像存储普通数据那样,将文件转化为二进制数据存入mongodb,另一种使用gridfs,咱们 ...

  9. MongoDB存储基础教程

    一.MongoDB简介 1. mangodb是一种基于分布式.文件存储的非关系型数据库 2. C++写的,性能高 3. 为web应用提供可扩展的高性能数据存储解决方案 4. 所支持的格式是json格式 ...

最新文章

  1. springioc注解版运行效果演示
  2. 【Java】浅析神奇的this
  3. 洞察CRM对企业的真正价值
  4. GF4各波段太阳辐照度
  5. BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞
  6. 新安装的mysql设置密码
  7. retainAll()和removeAll()
  8. 【Word】无分页符却出现异常分页情况
  9. IROS2020 论文阅读
  10. 2023年全国最新二级建造师精选真题及答案52
  11. 地产AR模拟看房软件开发
  12. Duang! 工商银行也要做电商?
  13. 电视剧《天道》里的商业思维
  14. 改善编程体验: IdeaVimExtension介绍
  15. 硬件设计开发全套软件
  16. STM32F030 RTC内部晶振/外部晶振/闹钟
  17. ACM 广搜 Hero In Maze
  18. 判断腾讯QQ是否在线
  19. RSA加密算法(公钥+私钥加密)
  20. 百度地图API 实现地图多点标注

热门文章

  1. django自定义用户表
  2. 前端JavaScript规范
  3. SAP ECC EHP7 RFC 发布成WebService
  4. ------shell学习
  5. 【MongoDB】递归获取字段更新表达式,更新复杂数据类型对象
  6. ABAP的自学之路 ,初步认识ABAP 一
  7. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
  8. 深入Java集合学习系列:ConcurrentHashMap之实现细节
  9. [Java] java中的接口定义
  10. [20140928]创建连接到MySQL的连接服务器