11

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

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

4

3 回答 3

19

工人被设计成可以轻松运行。将 pry 放入您的工作代码并在 rails 控制台中运行它。

> MyWorker.new.perform(some_args)
于 2015-11-03T17:07:08.843 回答
12

我想出的最好的东西是这个宝石gem 'pry-remote',它工作得很好,可以阻止所有进程运行。它的工作原理就像pry只是放入binding.remote_pry并且你有一个停止点。

于 2017-05-02T12:52:09.823 回答
0

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

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

然后在你的 Rails 控制台中运行

SomeJob.perform_now(*args)

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

于 2020-08-11T03:54:18.873 回答