开源一个自己的开发 “持久化异步失败重试系统” - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon

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

  •  
  •   rizon
    othorizon Sep 14, 2020 2052 views
    This topic created in 2051 days ago, the information mentioned may be changed or developed.

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

    话说昨天有人给我的 notelive.cc 微信赞赏了,有点开心~~
    About     Help     Advertise     Blog     API     FAQ     Solana     1088 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:27 PVG 02:27 LAX 11:27 JFK 14:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86