【问题标题】:How can I use ruby-debugger inside of a resque job?如何在 resque 作业中使用 ruby​​-debugger?
【发布时间】:2013-03-04 02:20:22
【问题描述】:

我正在寻找一个启动工作进程的命令,以便在作业的perform 方法中调用debugger 并将控制权交给命令提示符。

【问题讨论】:

  • 您使用任何 IDE 吗?现在怎么设置断点?
  • 如果您在 ruby​​ 代码中调用“调试器”,它会被视为断点。
  • 在 Resque 之外运行任务怎么样?
  • 代码的结构真的很烦人
  • @James 我不确定调试器是否会因fork 进程而停止我尝试了很多次但没有任何运气,但我确信pry 会按照你需要的方式工作我测试了它针对乘客生成器,它提供了您正在寻找的所需输出

标签: ruby-on-rails resque ruby-debug


【解决方案1】:

我认为您应该可以调用Archive.perform(self.id, branch),而不是调用Resque.enqueue(Archive, self.id, branch)(来自resque 自述文件)。这样做,您应该能够在工作人员内部使用调试器。

【讨论】:

    【解决方案2】:

    将以下行添加到您的 rails 应用程序 Resque.inline = true 这会导致 resque 作业不入队,而是立即执行

    【讨论】:

    • 在哪里添加这一行。
    【解决方案3】:

    我最终使用了pry 而不是 ruby​​-debugger。奇迹般有效。几乎是爱尔兰的魅力!

    【讨论】:

    • 你能告诉我你是怎么撬的吗?我在生产上有一个resque错误,我知道它来自哪里,但我不知道如何窥探它。你用撬轨吗?如果是这样,这是否意味着您必须将新代码提交到生产环境才能使用它?
    猜你喜欢
    • 1970-01-01
    • 2016-05-29
    • 2014-03-21
    • 2021-08-15
    • 2015-09-17
    • 2011-10-28
    • 2013-12-04
    • 2019-07-31
    • 2012-09-12
    相关资源
    最近更新 更多