V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rizon
V2EX  ›  程序员

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

  •  
  •   rizon ·
    othorizon · 2020-09-14 22:57:55 +08:00 · 1696 次点击
    这是一个创建于 1529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址: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

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

    话说昨天有人给我的 notelive.cc 微信赞赏了,有点开心~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:59 · PVG 06:59 · LAX 14:59 · JFK 17:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.