租户多数据源如何处理定时任务

Blade 未结 2 168
tongyi
tongyi 剑侠 2025-07-29 15:25

目前系统中部分租户配置了不同数据源(大部分还是用主数据源), 定时任务用xxljob, 如何处理分散在不同数据源下数据都能跑到定时任务

2条回答
  • 2025-07-29 16:04

    定时任务是异步,无法获取request,也就无法通过常规的方法进行切换。你需要在定时任务执行切换之前就获取租户id,然后调用工具类进行切换

    0 讨论(0)
  • 2025-07-29 16:40

    有工具类可以切换,关键是数据分布到不同的数据库,是不是需要每台数据库轮询去拿,这部分功能不知有没有案例

    作者追问:2025-07-29 16:43

    你们是要一个租户数据分布不同数据库?还是一个任务里查下多个租户,来合并他们的数据?这两种目前都没案例,并且不推荐这么设计,把业务模型设计的太分离,太细,到最后麻烦的还是自己。

    回答: 2025-07-29 17:00

    一个定时任务中查多个租户的数据(不同数据库),任务其实不复杂,那个数据库读的数据,处理完成后还是写入那个数据库。为什么这么设计,其实是需求决定的,我们改变不了。

    0 讨论(0)
提交回复