Hangfire 使用笔记

简介: “巨人们”的地址 Hangfire Mysql: https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的sql语句有bug   Hangfire Console: https://github.
“巨人们”的地址
Hangfire Mysql:
https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的sql语句有bug
 
Hangfire Console:
 
站在巨人们的肩膀开始我的整合啦:
主要用在以下场景:
比如:
1客人下单,超过最晚支付时间就自动取消订单
2复杂的需要花一定时间的计算,然后还得发推送通知
3 通过延迟和循环任务分批群发短信或邮件
等等
示意图为
 
首先我封装了hangfire在server端加入api功能,封装了以下:
1可以创建一个立刻执行的后台job
2可以创建一个可延期执行的job
3可以创建一个定时周期性的job
4可以创建一个类似于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 excute
Method 是get还是 post
contenttype啊之类的。
因为虽然是内网 但是我也不想直接暴露给所有人 所以我额外规定了web api excute都要统一加了 basic认证。。
创建成功后
这个时候就可以在dashbord上看见计划有一个任务
过了15分钟后开始执行这个job,就发起请求,
下面的蓝色部分就是 hangfire console的作用。
把执行的参数 结果等都保存下来。。查看的时候一目了然
 
目前还存在一些不方便的地方:
dashbord不支持查询功能。。
我就改了一下源码
 
新增了对于Netcore的支持 :
https://github.com/yuzd/Hangfire.HttpJob
 
效果如下
 
2016-12-25平安夜新增了dashbord新增作业和周期性作业的入口
 
2015-12-26新增了corn表达式在线生成的功能
至此 我想要的功能基本满足了 yeah!
 

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后须在文章页面明显位置给出作者和原文连接,谢谢。
目录
相关文章
|
移动开发 Java 数据安全/隐私保护
C#RSA加密解密签名类,支持PEM格式解密(1024或2048位)
主要介绍了PEM PKCS#8、PKCS#1公钥和私钥在C#中的使用,并以此为基础写的C#函数方法。
3664 1
|
6月前
|
存储 算法 Java
G1原理—1.G1回收器的分区机制
本文深入探讨了G1垃圾回收器的多个核心概念与实现细节,包括分区(Region)管理、新生代动态扩展机制以及停顿预测模型。首先分析了G1中Region大小的计算规则及其对性能的影响,强调Region大小需为2的幂次以优化内存分配效率并避免碎片化。其次介绍了新生代内存分配方式及动态扩展流程,通过自由分区列表调整新生代大小以平衡GC时间和程序运行时间。最后重点解析了基于衰减算法的停顿预测模型,该模型利用历史GC数据加权平均来精准预测每次GC所需时间,从而确保满足用户设定的停顿时间目标。这些机制共同作用,使G1能够在大内存场景下实现高效垃圾回收与低延迟表现。
294 10
G1原理—1.G1回收器的分区机制
|
存储 人工智能 算法
探索AI在后端开发中的应用与挑战
随着人工智能技术的飞速发展,AI在后端开发领域扮演着越来越重要的角色。本文将深入探讨AI在后端开发中的应用现状和面临的挑战,分析其带来的影响与发展趋势。
689 1
|
运维 搜索推荐 Linux
计算机基础,以及实施运维工程师介绍
计算机基础,以及实施运维工程师介绍
402 0
|
Kubernetes 容器 Perl
Kubernetes----Pod配置容器启动命令
Kubernetes----Pod配置容器启动命令
1050 0
|
SQL Oracle 关系型数据库
解读数据传输DTS技术架构及最佳实践
在阿里云数据库技术峰会上,阿里巴巴高级技术专家付大超(千震)针对于云计算时代最好的数据传输产品阿里云DTS的架构设计、基本原理以及相关的应用场景进行了精彩分享。帮助大家了解了阿里是如何实现异地多活和异构多活的,以及通过DTS轻松实现迁移、双同同步、容灾、订阅的真实案例。
14657 1
|
数据安全/隐私保护 iOS开发 开发者
[苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
[苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
|
存储 域名解析 Java
【1】从零玩转OSS阿里云存储服务之阿里云平台等操作
【1】从零玩转OSS阿里云存储服务之阿里云平台等操作
522 0
|
机器学习/深度学习 Python
Py之interpret:interpret的简介、安装、案例应用之详细攻略
Py之interpret:interpret的简介、安装、案例应用之详细攻略
Py之interpret:interpret的简介、安装、案例应用之详细攻略
dingtalk是钉钉软件
dingtalk是钉钉软件
1306 0