Backgroundrb计划任务结束
时间:2020-03-06 14:41:59 来源:igfitidea点击:
我有一个backroundrb计划任务,需要花费很长时间才能运行。但是,似乎该过程仅在2.5分钟后结束。
我的background.yml文件:
:schedules: :named_worker: :task_name: :trigger_args: 0 0 12 * * * * :data: input_data
进程运行时,我在服务器上的活动为零。 (这意味着我是服务器上唯一看着日志文件执行其操作直到该过程突然停止的人。)
有任何想法吗?
解决方案
这里没有太多信息可以使我们深入研究问题的根源。
由于backgroundrb在后台运行,因此很难监视/调试。
这是我使用的一些想法:
- 编写单元测试以测试工作者代码本身,并确保那里没有问题
- 在代码中的多个点放置" puts"语句,这样我们至少可以在worker运行时看到一些响应。
- 将整个工作程序包装在begin..rescue..end块中,以便我们可以捕获可能发生的任何错误并缩短过程。
谢谢安德鲁。这些调试技巧有所帮助。特别是begin..rescue..end块。
尽管调试仍然很痛苦。最终,不是2.5分钟后BackgroundRB就缩短了。正在进行网络连接,未正确关闭。一旦找到并关闭它,一切都会很好。