让 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

颠覆认知!关于c²= b² + a²,你不知道的N个事实

全世界只有3.14 % 的人关注了青少年数学之旅数是什么?毕达哥拉斯会告诉你,数是众神之母,万物之源——节选自《数学之旅闪耀人类的54个数学家》一般人看来,勾股定理只存在于特定的三角形或几何图形中。但实际上,绝大多数…

Win2003 Server安全配置完整篇

Win2003 Server安全配置完整篇一、先关闭不需要的端口   我比较小心,先关了端口。只开了3389 21 80 1433有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改 了密码设置为十五六…

c语言长整数转化为16进制字符串,一个30位的字符串十进制长整数怎么转换为对应的十六进制和八进制...

C/C code#include #include using namespace std;inline int compare(string str1,string str2) {//相等返回0,大于返回1,小于返回-1if (str1.size()>str2.size()) return 1; //长度长的整数大于长度小的整数else if (str1.size()else return str1.co…

TinyUI组件开发示例

2019独角兽企业重金招聘Python工程师标准>>> TinyUI实际上并不是一个具体的UI展现组件,它只是一个UI构建体系。它可以适应于各种HtmlCSSJS的体系架构中。 TinyUI主要解决下面的问题: UI中JS的引入与顺序,JS合并的问题 UI中css的…

一键搞定ASP.NET Core Web API幂等性

API的幂等性(Idempotent),是指调用某个方法1次或N次对资源产生的影响结果都是相同的。GET请求默认是幂等的,因为它只是查询资源,而不会修改资源。而POST请求默认是不幂等的,多次调用POST方法可能会产生不同…

你这么爱听歌,一定活得很难过吧 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅让笑声飞沙雕营长大象ROV全球第一最搞搞笑热门神吐槽朱莉生活日记

暴笑小笑话集----转自通信公社

07-4-11.女:“只要有钱,我嫁给谁都行。”男:“银行的保险柜你嫁吗?” 2.争吵的时候,男人和女人的区别就像是和机关枪的区别。3.我妻子想减肥,所以她每天都去骑马。结果马一个月之中瘦了四十斤。4.病人&…

Web开发中的矢量绘图(vml,svg)处理和应用

为什么80%的码农都做不了架构师?>>> 前言 1991 年物理学家 Tim Berners-Lee 首次在因特网上发布了 HTML 的第一版描述规范文档。经过了 20 多年的发展,HTML 语言成为如今编程最为广泛的语言和互联网上采用最广的文档格式。虽然 HTML 发展十分…

c语言环境窗口组成,如何搭建C语言环境

如何搭建C语言环境开发C程序的时候我们用的开发软件有VC6.0、visual studio等等,但对于有些简单的程序我们更喜欢用记事本或者notepad等方便的工具进行编辑,编辑完后再通过cmd窗口编译运行,但我们得给它一个环境,以便它可以是使用…

C#新手该如何规划学习【学习路线指南】

花费了几天时间整理了C#学习路线图,可以说是纯野生C#程序员成长路线规划,在这里分享下,希望可以帮助到想从事C#开发的同学们。本人阅历尚浅,有些知识点可能分享不正确,希望广大网友评论区补充,我会同步修正…

msdn中C#中常用词汇概念(转帖)

p C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序。 p C# 作为一种面向对象的语言,支持封装、继承和多态性概念。所有的变量和方法,包括 Main 方法(应用程…

丰巢刷脸取件被小学生破解,号称3D、深度学习加持的人脸识别究竟靠谱吗?...

全世界只有3.14 % 的人关注了青少年数学之旅经费不够,2D来凑?前些天,丰巢智能快递柜被“小学生”用打印照片破解,让人大跌眼镜。据《人民日报》报道,嘉兴上外秀洲外国语学校402班科学小队向都市快报《好奇实验室》报料…

Linux脚本利器sed

sed文本例子使用以下文件 $pg quote.txt The honeysuckle band played all night long for only $90. It was an evening of splendid music and company. Too bad the disco floor fell through at 23:10. The local nurse Miss P.Neave was in attendance.1 sed怎样读取…

伍迷随想冷饭集 之 瞻前顾后之随想

哈哈,很是开心,今天是我的生日,由于各地对年龄的计算方法不同,你认为我是25周岁、26岁、还是27虚岁都行,反正是又老一年了。几乎在每年的这个时候,我都会对自己做一个小小的总结,不过以前都没有…

c语言while运行出现错误,【图片】为什么我的while(1)不执行啊?【c语言吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include #include #include /*设定:玩家:攻击力,生命值,技能效果,CD;敌人:攻击力,生命值,CD&#xff1…

研究生和本科生

一个月拼死拼活,一分钱不花才能买到连半个单人床都不到的屁大点地方。结婚得10年,买房得25年……这样生活还不如花5块钱买把犏刀抢银行!!!于是我做梦手持菜刀,凶神恶刹一样冲到银行门口。突然,一…

微软面向初学者的机器学习课程:3.1-构建使用ML模型的Web应用程序

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)构建使用ML模型的Web应用程序在本课中,你将在一个数据集上训练一个ML模型…

我们单位里新来的应届毕业生(转贴)

我在一个BBS上看到的贴,觉得很好玩,就转过来了....大家一起分享吧....1.公司新配给我一个助理.今天,我,助理以及我们老总,去局里开会.会毕,领导要写个注意事项给我们.我和老总当时拿笔都不太方便.我随口问助理..你带笔了吗?他马上回答:带了然后,几双眼睛看着他..接下来的十秒钟…

boost pool内存池库使用简要介绍

2019独角兽企业重金招聘Python工程师标准>>> 我厂内存次神马的一般都自己实现。我曾经也自己写过一个demo(mempool)。后来发现boost库里面有一个内存池库boost pool,貌似很好用,使用挺好,例子可以贴出来。 boost一共有4种内存池&…

嫁给我好吗?| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅