,如果上一个任务没有执行完毕,则需要等上一个任务执行完毕后立即执行。...业务变更数据后,消息发了,门户也接受到了,但是数据还是历史数据,缓存未刷新
解决方案:
业务变成的service中有事务,而mq产生的消息是在事务未提交之前发送,门户端接受后就刷新,数据库数据其实还是历史数据...解决方案:
第二次将缓存提出来放到了事务之外,但是当某一次事务提交后,产线消息,在消费消息刷新缓存时,有一个更新操作,更新操作和之前的事务操作的是同一张表,造成表锁,等待时长过长,造成报错
具体的业务场景...:
某一种杂志的网络版整期发布,一个整期中包含多个文章,整期发布除了变更整期的状态,还行处理整期下的文章状态,同时门户的缓存主要针对的是文章,即整期发布后刷新门户的文章缓存
整期发布时一个比较大的事务,...其中会更新文章相关表的一个状态字段,但是在整期中又循环发送mq消息,去刷新门户的缓存,当门户的缓存刷新的时候,还有同步的一个init文章相关内容的操作,会更新之前事务操作的表,造成事务未提交等待着,而产生的多条消息