开源一个自己的开发 “持久化异步失败重试系统”

2020-09-14 22:57:55 +08:00
 rizon

地址:othorizon/AsyncRetryable

系统也没想个好名字,就随便叫一下吧。

org.springframework.retry.annotation.Retryable的功能相似,当方法抛出指定的异常后会进行重试。
最大的区别在于,该工具会将失败的任务进行持久化(比如存储到 mysql 数据库中),当系统重启后任务依然可以继续执行。

特性

重试操作是异步执行的

这点非常重要,也就是当方法失败后,不会抛出异常而是会继续向后执行,重试操作会在任务线程中被触发。
目前任务线程设计为单线程的,任务会被循环串行执行,这是因为该工具被设计为去处理一些简单的低耗时的任务。

任务是持久化存储的

这也就表示即使系统重启任务依然可以被继续执行。
以及如果你进行了多节点的集群部署,那么任务数据将被共享执行。

使用

在需要重试的方法上添加注解@AsyncRetryable,被注解的方法参数必须为BaseTaskParam的子类

地址:othorizon/AsyncRetryable

如果各位大佬觉得有意思,厚脸皮的求个 star,目前做的还比较简单,如果确实有蛮多的人感兴趣后续会继续更新优化的,并推到 maven 仓库




其他项目:
spring 最佳实践案例:
othorizon/spring-best-practices
相关帖子:
/t/632337

如果有兴趣也欢迎 star 啊,感谢各位大佬花时间查看~


最近准备换工作了,想把自己的项目贴到简历上,但是感觉面试的人并不会看啊。

除了上面两个开源项目,还有一个在线记事本工具:
notelive.cc
该记事本主要是自己用,所以暂时也不想正经去推商业化,UI 上都很简陋,有一个实验性的功能协同编辑和很多自认为蛮有创意隐藏功能,就不详细说了,如果有兴趣直接在 v 站搜索 notelive.cc 查看历史帖子吧。


最近准备换工作了,顺便问一句,
本人在北京,java 程序员,有没有大佬相中我招我进咱们公司啊
本人在北京,java 程序员,有没有大佬相中我招我进咱们公司啊
本人在北京,java 程序员,有没有大佬相中我招我进咱们公司啊

背题和面试流程好麻烦啊。。。。

狗头.jpg

1689 次点击
所在节点    程序员
7 条回复
rizon
2020-09-14 23:08:39 +08:00
这个时间发帖,应该是没人看到啦 😂
rizon
2020-09-14 23:10:29 +08:00
标题语序有问题,没法改了,好难受。。。。
事实证明语序并不影响人类的阅读,,你们一定没注意到的!一定没注意到!
lxilu
2020-09-14 23:48:28 +08:00
看了一会才明白是 Java…;开发可作名词解
rizon
2020-09-15 00:19:47 +08:00
@lxilu #3 疏忽了,没有备注下是 java spring 项目。
开发做名词 这个可以的 哈哈
anUglyDog
2020-09-15 00:55:51 +08:00
yifeishu.com 欢迎你
rizon
2020-09-15 10:31:34 +08:00
啊嘞? 啊嘞嘞?
为什么没人评论呢?
为什么没人讨论这个工具呢?
这东西在我的业务里用的还挺多的,对于一些流程占用时间可能过于长的场景,使用这种任务模式就很方便啊。
rizon
2020-09-16 09:47:08 +08:00
好冷清~哭了

话说昨天有人给我的 notelive.cc 微信赞赏了,有点开心~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707003

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX