abc`1 2021-04-23 14:26 采纳率: 73.7%
浏览 56
已采纳

任务分成几个阶段,数据库更新状态影响流程执行进度

类似任务流程吧,代码大概是这样的:

Task task = new Task();
task.setStatus("任务开始");
task.setUpdateTime(new Date());
// 更新数据库记录的状态
DBUtils.save(task);
// 开始第一个阶段(耗时十几分钟左右)
TaskUtils.startOne(task);

task.setStatus("任务的第二阶段");
task.setUpdateTime(new Date());
// 更新数据库记录的状态
DBUtils.save(task);
// 开始第二个阶段
TaskUtils.startTwo(task);


我的疑问是:如果更新数据库很慢很慢(网络问题/没资源等),就会影响TaskUtils执行了,这种情况一般怎么解决呢?异步更新数据库是否可行?

  • 写回答

4条回答 默认 最新

  • CSDN专家-lynn 2021-04-23 14:39
    关注

    首先确定一点,任务执行是否依赖数据库的更新数据,如果不依赖,则可以考虑异步,比如设置一个线程池,建立消息队列,往消息队列发送数据库更新请求

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行