2017-05-10 19 views
1

我已經石英配置在羣集中工作在這裏我簡單的石英配置上執行石英工作總是同一個節點

org.quartz.scheduler.instanceName =作業調度

org.quartz.scheduler.instanceId=AUTO 
org.quartz.threadPool.threadCount=5 
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX 
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate 
org.quartz.jobStore.useProperties=true 
org.quartz.jobStore.misfireThreshold=10000 
org.quartz.jobStore.tablePrefix=QRTZ_ 

org.quartz.jobStore.isClustered=true 
org.quartz.jobStore.clusterCheckinInterval=20000 

我必須執行兩個節點我的工作,但是當我安排一些任務每秒運行時,我可以看到它僅在node1上執行。如果我在節點1上暫停調度程序,則即使節點1再次聯機,任務也將移動到節點2並繼續保留。我怎麼可能使執行在節點之間均勻偏離?

感謝

回答

0

This可能會有所幫助。如果你的集羣不是非常忙,一個節點可能會完成所有的工作,因爲每當它完成一項工作時,它就會去尋找更多的工作,並找到剛完成的下一輪工作。您的羣集中的其他節點將定期輪詢工作,但不太可能找到任何需要執行的操作。

您是否有理由希望在羣集中更均勻地分配工作?有些事情沒有完成?如果某個節點接受的工作量超過了其能夠完成的工作量,則可以考慮關閉threadCount

+0

感謝您的回答。這只是在我爲集羣編寫測試時纔出現的。這裏沒有真正的問題 –