在许多实例上访问Quartz中的预定作业

问题描述

想象一下,我有一个微服务来安排提醒。它将扩展到该微服务的3个实例,并且如果需要的话,可以扩展到更多实例。它们共享2个端点-> POST(SheduleReminder)和POST(UpdateSheduleReminder)

一个请求将在实例A(Id = 1)上进行调度,第二个请求在B(Id = 2)上进行,第三个请求在C(Id = 3)上进行。想象一下它与负载均衡器一起工作。

现在,如果我想用ID = 2更新作业,如何在内存中计划/知道该作业计划在微服务的哪个实例上?

这是一个问题,我需要以某种方式管理作业在什么情况下运行?

谢谢!

解决方法

将评论移至答案。

1通过易失的RAMJobStore,无法实现对石英实例的集群,因为它们存储了运行石英调度程序的实例的本地数据。如果实例失败,作业数据/细节将丢失。

2要启用石英实例的群集,应使用JDBCStore或等效的.NET。此JobStore将数据持久存储在数据库中。只要所有石英实例都共享相同的数据库群集即可。

请参阅这些链接 Quartz Clustering documentation for .NET

Important Clustering Setting

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...