2009-09-24 65 views
2

我有一組批處理任務,需要以自動方式每週運行一次。每週的部分並不難:我使用cron來解決問題。這些任務基本上都是可以用shell腳本啓動的任何東西。棘手的部分是我的任務有一個不平凡的依賴關係圖(B取決於A,C取決於B,D取決於C和B等)。我對任務監控感興趣,以便在任務出現問題時收到通知。更好的是,我希望能夠輕鬆地從故障點恢復任務圖,而無需重新運行整個事情。用於批處理的複雜任務圖的監視/恢復

現在,我可以想象自己寫一些東西來完成這一切,但我必須想象有人已經經歷了這個麻煩。是否有任何現有的庫或框架可以使這個任務更容易?理想情況下,我正在尋找一些在linux/unix環境中運行的東西。

回答

1

我會建議一個Makefile來解決你的問題。

您必須爲任務指定標記文件以指示它們上次完成的時間,併爲「根」任務(無內部依賴關係的任務)確定一些依賴關係。

A : 
    <A's tasks> 
    touch A 

B : A 
    <B's tasks> 
    touch B 

C : B 
    <C's tasks> 
    touch C 

D : B C 
    <D's tasks> 
    touch D 

現在,你只需要明白爲什麼一個必須要重新做,你就可以cron這樣make文件,只是相應的位將被重新做。

+0

一個Makefile ...爲什麼我沒有想到這個?這是您經常忽略的簡單解決方案。謝謝! – 2009-09-26 17:04:16