Backgroundrb计划任务结束

时间:2008-09-25 01:37:27

标签: ruby-on-rails ruby backgroundrb

我有一个backroundrb计划任务需要很长时间才能运行。然而,似乎该过程仅在2.5分钟后结束。

我的background.yml文件:

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

进程运行时,我在服务器上没有活动。 (这意味着我是服务器上唯一一个观察日志文件的人,直到进程突然停止。)

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这里没有太多信息可以让我们找到问题的根源。 由于backgroundrb在后台运行,因此监控/调试非常困难。

以下是我使用的一些想法:

  1. 编写一个单元测试来测试工作者代码本身并确保没有问题
  2. 在代码中的多个点放置“puts”语句,这样您至少可以在工作人员运行时看到一些响应。
  3. 将整个工作人员包裹在begin..rescue..end块中,以便您可以捕获可能发生的任何错误并缩短流程。

答案 1 :(得分:0)

谢谢安德鲁。那些调试技巧有帮助。特别是begin..rescue..end块。

虽然调试仍然很痛苦。最终,2.5分钟后没有BackgroundRB缩短。正在建立的网络连接未正确关闭。一旦发现并关闭,一切都很好。