撬像 Sidekiq 的调试器?

Pry like debugger for Sidekiq?

我试过撬和远程撬,但没有成功。我熟悉日志记录,但我希望能够单步执行我的代码并查看变量。

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

Worker 被设计成对 运行 来说微不足道。将 pry 放入您的工作人员代码中,然后 运行 它在 rails 控制台中。

> MyWorker.new.perform(some_args)

我想出的最好的事情是这个 gem gem 'pry-remote' 它工作得很好并且停止了来自 运行 的所有进程。它的工作原理就像 pry 只是输入 binding.remote_pry 并且你有一个停止点。

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

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

然后在您的 rails 控制台中 运行

SomeJob.perform_now(*args)

这将导致在 rails 控制台中使用典型的 byebug 提示调用 byebug 的地方出现断点。