鑑於在AWS Elastic Beanstalk上運行的簡單Web應用程序(即負載平衡器後面的1..n個相同實例),我如何才能在一個實例上運行計劃後臺操作?在同一對等羣集內調度任務
我在web應用程序中有類似cron的調度機制,可以使用例如AWS Simple Queue Service排隊任務(並確保每個任務只執行一次)。但是,如何確保只有一個實例創建任務(以避免重複)?
顯然,我可以有一個負責創建任務的專用實例,但我正在尋找一種更動態的機制,讓其中一個常規實例能夠自動執行該角色。有任何想法嗎?
那麼是否有一個Quartz插件,它可以檢測EC2安全組中的運行實例並協調作業執行?或者你如何防止重複的工作執行? – ejain 2012-05-03 16:57:01
不需要插件,只需配置即可。例如,將EC2安全組中的所有節點指向同一個數據庫以存儲其Quartz作業數據將自動使其協調一致。每個節點上的Quartz代理檢查數據庫中集中的作業詳細信息。 – Jason 2012-05-07 16:46:40
謝謝,發現這個:http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-09。看起來你需要一個關係數據庫或兵馬俑。 – ejain 2012-05-07 18:53:59