Hangfire 使用笔记

Hangfire 使用笔记,第1张

概述“巨人们”的地址Hangfire Mysql:https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的sql语句有bug Hangfire Console:https://github.com/pieceofsummer/Hangfire.Console 站在巨人们的肩膀开始我的整合啦:主要用在以下场景:比如:1客人下单,超过最晚支付时间就自动取消订单2复杂的需要花一定时间的计算,然后还得发推送通知3 通过延迟和循环任务分批群发短信或邮件等等示意图为 首先我封装了hangfire在server端加入api功能,封装了以下:1可以创建一个立刻执行的后台job2可以创建一个可延期执行的job3可以创建一个定时周期性的job4可以创建一个类似于Task的Continue功能的有执行顺序的Job。例如A执行完了执行B,B执行完了执行C。。。 封装了这层API这样就统一了 job的入口。并且规定好了job的参数,因为具体job的执行是不在 hangfireserver里面的。hangfireserver是统一管理job和发起执行job的请求角色。那么hangfireserver是怎么知道往哪里发http请求去执行job,带什么参数的呢都是在创建job的时候就约定好了。例如 客人下单 时 调用 创建一个可延迟执行的job 例如延迟15分钟调用创建的时候 传入的对象有发起http请求的一些参数例如URL:执行具体job的api地址 也就是如上图的web api excuteMethod 是get还是 postcontenttype啊之类的。因为虽然是内网 但是我也不想直接暴露给所有人 所以我额外规定了web api excute都要统一加了 basic认证。。创建成功后这个时候就可以在dashbord上看见计划有一个任务过了15分钟后开始执行这个job,就发起请求,下面的蓝色部分就是 hangfire console的作用。把执行的参数 结果等都保存下来。。查看的时候一目了然 目前还存在一些不方便的地方:dashbord不支持查询功能。。我就改了一下源码https://github.com/yuzd/Hangfire.Core.Extendhttps://github.com/yuzd/Hangfire.Mysql.Extend 新增了对于Netcore的支持 :https://github.com/yuzd/Hangfire.HttpJob 效果如下 2016-12-25平安夜新增了dashbord新增作业和周期性作业的入口 2015-12-26新增了corn表达式在线生成的功能至此 我想要的功能基本满足了 yeah! 

<div >“巨人们”的地址
<div >Hangfire MysqL:
<div >
<a href="https://github.com/arnoldasgudas/Hangfire.MySqlStorage"&gt;<span >https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的SQL语句有BUG
<div > 
<div >Hangfire Console:
<div ><a href="https://github.com/pieceofsummer/Hangfire.Console"&gt;<span >https://github.com/pieceofsummer/Hangfire.Console
<div > 
<div >站在巨人们的肩膀开始我的整合啦:
<div >主要用在以下场景:
<div >比如:
<div >1客人下单,超过最晚支付时间就自动取消订单
<div >2复杂的需要花一定时间的计算,然后还得发推送通知
<div >3 通过延迟和循环任务分批群发短信或邮件
<div >等等
<div >示意图为
<div > 

总结

以上是内存溢出为你收集整理的Hangfire 使用笔记全部内容,希望文章能够帮你解决Hangfire 使用笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存