撬像 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 的地方出现断点。
我试过撬和远程撬,但没有成功。我熟悉日志记录,但我希望能够单步执行我的代码并查看变量。
有人知道我可以用来调试 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 的地方出现断点。