【问题标题】:Backgroundrb scheduled task endingbackgroundrb 定时任务结束
【发布时间】:2008-09-25 01:37:26
【问题描述】:

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

我的 background.yml 文件:

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

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

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby backgroundrb


    【解决方案1】:

    这里没有太多信息可以让我们找到问题的根源。 因为 backgroundrb 在后台运行,所以很难监控/调试。

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

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

    【讨论】:

    • 您也可以在控制台中试验有问题的代码(故意运行它而不是等待它在后台运行)来观察事情的发生。
    【解决方案2】:

    谢谢安德鲁。这些调试技巧有所帮助。尤其是 begin..rescue..end 块。

    但调试仍然很痛苦。最后不是BackgroundRB在2.5分钟后缩短。建立的网络连接未正确关闭。一旦找到并关闭它,一切都会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多