2008-09-25 129 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短缺。有一个网络连接没有正确关闭。一旦发现并关闭,一切都很好。