【发布时间】:2022-01-17 11:09:16
【问题描述】:
场景: 我已将作业排入队列,并且 thread1 已开始执行该作业。同时,另一个线程 2 查询数据库并从数据库中获取作业,并开始处理它。因此,同一作业由 2 个线程同时执行。如果 thread1 已经选择了该作业,我如何防止 thread2 访问该作业? 是否有 Jobrunr 设置或任何注释?我正在使用没有专业人士的 Jobrunr。
【问题讨论】:
标签: java spring-boot jobrunr
场景: 我已将作业排入队列,并且 thread1 已开始执行该作业。同时,另一个线程 2 查询数据库并从数据库中获取作业,并开始处理它。因此,同一作业由 2 个线程同时执行。如果 thread1 已经选择了该作业,我如何防止 thread2 访问该作业? 是否有 Jobrunr 设置或任何注释?我正在使用没有专业人士的 Jobrunr。
【问题讨论】:
标签: java spring-boot jobrunr
这不应该发生... JobRunr 正在执行乐观锁定,因此它会在开始处理作业之前尝试锁定作业。只有当它可以获取锁时,它才会处理该作业。您能否创建一个能重现问题的 Github 存储库并在 JobRunr 存储库中创建一个 Github 问题?
【讨论】: