2011-03-21 94 views
1

但是,如果使用daemon-spawn gem來運行delayed_job守護進程,只要有數據庫鎖定錯誤或任何其他類型的錯誤,delayed_job守護進程就會停止/退出。有沒有辦法在守護進程中解決這些異常?delayed_job守護進程因錯誤而退出

回答

0

我想這是沒有代碼,沒有答案:)

根據您的設置,你可以挽救的錯誤:

class CrawlJob 

    attr_accessor :site_id 

    def initialize(site_id) 
    self.site_id = site_id 
    end 

    def perform 
    begin 
     Site.find(self.site_id).crawl 
    rescue 
     # ... handle the error 
    end 
    end 

end 
+1

感謝Wukerplank。這是我正在運行的後臺任務:'Episode.delay.fetch_podcast_episodes(@podcast)' – lightyrs 2011-03-22 00:56:55

+0

即使我把它放在一個救援塊中,delayed_job守護進程仍然會在數據庫鎖定錯誤時退出。 – lightyrs 2011-03-22 00:59:12

+0

您可以發佈fetch_podcast_episodes的代碼嗎?我想救援塊將不得不在那裏,因爲這是將在稍後執行並可能失敗的代碼。 – Wukerplank 2011-03-22 06:46:48