2013-01-09 107 views
2

例如,我正在開發一個部署應用程序。比方說,我們從SVN部署4個分支,這需要顛覆的4 svn export。這可能需要一段時間,取決於我們檢查的分支,所以我正在考慮將它發送到作業隊列。當所有的工作都完成後,那麼我們只需要重新啓動我們的應用服務。是否有任務隊列系統允許任務依賴於其他任務?

有沒有可以做到這一點的工作隊列?我認爲我看到的最接近的是芹菜,因爲它將結果導入數據庫。

回答

0

如果你使用的是linux,你可以使用類似Cron的東西來自動化/安排你的作業的開始(例如每天1次),並將該作業的輸出傳遞給一個PHP腳本,將工作完成的時間存儲在數據庫中。你可以有第二個「監控」PHP腳本,它會運行得更頻繁(比如每半小時一次),以查詢數據庫是否已完成所有工作。如果該日期的所有作業都標記爲「完成」,則可以使用該PHP腳本啓動重新啓動。你不必用PHP編寫這個代碼,我相信它可以全部用Perl編寫或者作爲一個shell腳本或者其他東西 - 這只是一個例子,因爲你在代碼中使用了PHP。