2008-09-25 128 views
2

我有一個backroundrb計劃任務需要相當長的時間才能運行。但是,似乎該過程僅在2.5分鐘後結束。Backgroundrb計劃任務結束

我background.yml文件:

:schedules: 
    :named_worker: 
    :task_name: 
     :trigger_args: 0 0 12 * * * * 
     :data: input_data 

我有服務器上的零活性的過程中運行時。 (這意味着我是服務器上唯一一個正在觀看日誌文件的服務器,直到過程突然停止。)

任何想法?

+0

你必須提供更多的線索。 – liangzan 2008-09-25 05:44:23

回答

3

這裏沒有太多的信息可以讓我們找到問題的根本。 因爲backgroundrb在後臺運行,所以監視/調試可能相當困難。

這裏有一些想法,我用:

  1. 寫單元測試,測試工作人員代碼本身,並確保沒有問題存在
  2. PUT「看跌期權」在代碼中的多點語句,以便你至少可以在工作人員跑步時看到一些反應。
  3. 將整個工作人員包裹在一個begin..rescue..end塊中,以便您可以捕獲可能發生的任何錯誤並縮短過程。
+0

您也可以在控制檯中嘗試使用有問題的代碼(故意運行它而不是等待其在後臺運行)以觀察事件發生。 – 2008-09-25 18:37:43

0

謝謝安德魯。這些調試技巧幫助。特別是begin..rescue..end塊。

雖然調試仍然很痛苦。最終在2.5分鐘後沒有BackgroundRB短缺。有一個網絡連接沒有正確關閉。一旦發現並關閉,一切都很好。