作業(yè)調(diào)度調(diào)度平臺(tái)的幾個(gè)技術(shù)細(xì)節(jié)
前面我寫(xiě)了一個(gè)文章, 作業(yè)調(diào)度系統(tǒng)的構(gòu)思, 鏈接為http://www.rzrgm.cn/harrychinese/archive/2011/02/11/One_Batch_Scheduling_System_Design.html , 這篇講一下幾個(gè)關(guān)鍵點(diǎn)的技術(shù)選擇.
1. 跨OS/跨平臺(tái)的互操作性, 可以采用ssh方式, 可以借鑒fabric的ssh部分
2. 關(guān)于cluster failover, Java有Quartz(.Net有Quartz.Net)可以使用, 但python好像沒(méi)有很好的框架, 在下面的鏈接中, http://stackoverflow.com/questions/1727138/an-enterprise-scheduler-for-python-like-quartz 給出了另一個(gè)方案, DRMAA, 采用Sun的實(shí)現(xiàn)Sun Grid Engine, Python可以用drmaa-python(http://code.google.com/p/drmaa-python/)來(lái)操縱DRMAA. 其實(shí)開(kāi)源系統(tǒng) knime 的 cluster-execution也是采用Sun Grid Engine,
3. 對(duì)于cron特性的支持, 可以采用APScheduler, (http://pypi.python.org/pypi/APScheduler/1.01)
如果用Jython開(kāi)發(fā)的話, 上述2#和3#都可以Quartz. 現(xiàn)在的問(wèn)題是, Python還是Jython?

浙公網(wǎng)安備 33010602011771號(hào)