我尝试过撬和远程撬,但没有运气。我熟悉日志记录,但我希望能够通过我的代码并查看变量。
有没有人知道我可以用来调试Sidekiq的任何东西?
答案 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的任何地方。