为Sidekiq撬像调试器?

时间:2015-11-03 16:18:50

标签: ruby-on-rails sidekiq sidekiq-monitor

我尝试过撬和远程撬,但没有运气。我熟悉日志记录,但我希望能够通过我的代码并查看变量。

有没有人知道我可以用来调试Sidekiq的任何东西?

3 个答案:

答案 0 :(得分:14)

工人的设计是微不足道的。把pry放在你的工作代码中并在rails控制台中运行它。

> MyWorker.new.perform(some_args)

答案 1 :(得分:4)

我提出的最好的事情是这个gem gem 'pry-remote'它运行良好并阻止所有进程运行。它的作用就像pry只是放入binding.remote_pry并且你有一个停止点。

答案 2 :(得分:0)

您可以使用byebug,但是必须在作业的类定义中要求它。 例如,

class SomeJob < ActiveJob::Base
  require 'byebug'
  
  def perform(*args)
    byebug
  end
end

然后在Rails控制台中运行

SomeJob.perform_now(*args)

这将导致断点显示在Rails控制台中您通过典型的byebug提示符调用过的byebug的任何地方。