java吧 关注:1,294,761贴子:12,828,483

回复:有没有关于定时任务更好的方案?

只看楼主收藏回复

你的需求应该是间歇性推送数据,而不是到点就推送


IP属地:江苏来自iPhone客户端19楼2023-07-06 14:52
回复
    取了先删除,再执行


    IP属地:江苏来自Android客户端20楼2023-07-06 15:34
    回复
      2026-01-16 03:45:52
      广告
      不感兴趣
      开通SVIP免广告
      我公司用的xxjob框架的定时任务是上一条定时结束之后才执行。建议一条条用索引更新 会比较快


      IP属地:云南来自Android客户端21楼2023-07-06 15:52
      收起回复
        使用redis 做缓存标记 ,执行更新的使用 队列 加载更新 , 下一次任务来的时候判断队列是否执行完,如果没有就跳过等下一次的循环,但是如果连续跳过几次 , 就要考虑数据堆积或者更新方法太慢 考虑优化


        IP属地:重庆22楼2023-07-06 16:02
        回复
          一个线程去做定时推送任务就好了,设置fixdelay


          IP属地:浙江来自iPhone客户端23楼2023-07-06 16:45
          回复
            这就是并发写魔怔了串行的任务也给写并行了。
            不过同步两回没错的,管它第一次是丢了失败了还是没执行完,未返回成功的再次执行你也知道,次数多了你就backoff几秒几分钟的防止把它搞炸了就行


            IP属地:广东来自Android客户端24楼2023-07-06 16:57
            收起回复
              同步两次会死?


              IP属地:上海来自Android客户端25楼2023-07-06 18:14
              回复
                这玩意按照id建立一个唯一索引不就好了?这样当数据库感知到这个id有了,自然会失败不管了。


                IP属地:浙江26楼2023-07-06 19:12
                回复
                  2026-01-16 03:39:52
                  广告
                  不感兴趣
                  开通SVIP免广告
                  定时框架有这个逻辑啊,只有上一次任务执行完毕,新的定时任务才开始运行,第一次数据没跑完,第二次时间到了,会等待第一次才运行


                  IP属地:湖南来自Android客户端27楼2023-07-06 23:58
                  回复
                    总结一下。1、加同步标识。2、一次只运行一个定时任务,未结束不允许下次运行。3、再另一个系统写一个定时任务负责删除重复数据。


                    IP属地:广西28楼2023-07-07 01:11
                    回复
                      空闲才去做操作呀,如果不空闲的话就不操作。


                      来自Android客户端29楼2023-07-07 08:42
                      回复
                        加个同步锁。简单的说就是定时任务开启,第一步查询redis里面有没有锁,没有就在redis里面塞一个锁,跑代码,代码跑完把redis里面的锁删掉。这样就能保证只有一个定时任务在跑


                        IP属地:上海来自Android客户端30楼2023-07-07 10:01
                        收起回复
                          redis里缓存一把锁就行了。


                          IP属地:广西31楼2023-07-07 10:59
                          回复
                            ➕锁


                            IP属地:浙江来自Android客户端32楼2023-07-07 12:08
                            回复
                              2026-01-16 03:33:52
                              广告
                              不感兴趣
                              开通SVIP免广告
                              canal


                              IP属地:湖南33楼2023-07-07 15:01
                              回复