2010-03-13 53 views
1

在我的Capistrano deploy.rb中,我有幾個像delayed_jobs和fetcher的守護程序,根據它們在部署過程中的位置來啓動和停止。如何在失敗時回滾Capistrano任務?

如果部署失敗,這種方法會產生問題,因爲守護程序將無法正確管理(即,兩個進程生成而不是一個進程,或者進程已關閉,直到下一個部署才重新啓動)。

有沒有辦法阻止這種情況發生,就像回滾代碼一樣?守護進程的部署通常如何通過capistrano完成?

回答

1

Capistrano允許您爲每個任務定義一個on_rollback掛鉤。如果其中一個任務失敗,您還可以將任務分組到Transaction以回滾所有任務。有關更多詳細信息,請參閱Capistrano wiki

+0

鏈接被破壞。 – 2012-07-03 00:45:57