【发布时间】:2020-06-05 16:05:27
【问题描述】:
我有 5 个在集群模式下使用石英的应用程序实例,它们都在运行石英调度程序。 (使用 postgresql)
org.quartz.jobStore.isClustered:true
org.quartz.scheduler.instanceName: myInstanceName
org.quartz.scheduler.instanceId: AUTO
所以我有一个工作,它开始并执行一些操作,如果需要,用新的预定时间更新自己,否则会删除自己。 (一个作业只能包含一个触发器。)
应用程序具有允许用户取消作业的 UI 界面。
当从 UI 发送中断命令时;
如果工作当前没有工作;我可以暂停或取消作业。
如果我的工作当时正在工作,我如何使用正确的实例停止工作并获取工作的当前状态?基本上我想在那一刻捕捉并保存当时的数据,哪个用户实际上是中断时刻
scheduler.interrupt(jobKey) 是否会中断我正确实现 InterruptableJob 的作业?
scheduler.interrupt() 是否确切知道哪个实例当前应该运行作业并找到正确的实例并获取作业的正确状态?
你能纠正我吗,或者我应该走哪条路?
【问题讨论】: