我有石英集群环境,有5个节点,我不确定石英调度程序如何负载平衡作业,大多数情况下我看到所有作业都没有正确分散。您能不能让我知道有没有办法轻松地从石英集群中删除一个节点,这样就不会从该集群运行作业,或者如果某个大作业正在运行,那么其他作业就不会从该集群中启动,简而言之,我们可以暂停石英一个集群中的作业?我使用JDBCStore。 请在下面找到我的石英属性。我的石英版是2.2.0
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.useProperties">true</prop>
<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
<prop key="org.quartz.threadPool.threadCount">5</prop>
<prop key="org.quartz.threadPool.threadPriority">5</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop key="org.quartz.scheduler.instanceName">myscheduler</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>
<prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
</prop>
<prop key="org.quartz.dataSource.test.jndiURL">java:test</prop>
<prop key="org.quartz.jobStore.dataSource">${datasource.name}</prop>
<prop key="org.quartz.jobStore.tablePrefix">myschema.QRTZ_</prop>
<prop key="org.quartz.plugin.triggHistory.class">org.quartz.plugins.history.LoggingJobHistoryPlugin
</prop>
</props>
</property>
答案 0 :(得分:0)
如果使用石英的聚类功能,您应该可以毫无问题地关闭一个节点。如果其他节点处于活动状态并且其最后的正常运行时间戳,则所有石英计划都会检查数据库。如果你检查你的quartz-config,你会发现有一个(内部)石英作业正在运行,它经常更新一个石英表。
我的回答非常普遍,因为需要有关系统环境和配置的更多信息才能得到正确答案。 “所有工作都没有得到妥善分散”是什么意思?