ruby 如何在IRB控制台中调试delayed_job任务中运行的代码?

5jvtdoz2  于 2022-11-04  发布在  Ruby
关注(0)|答案(2)|浏览(187)

我有一个使用delayed_job运行的后台任务。
我可以看到它确实从日志语句运行。与在前台运行相比,它似乎没有正确的结果,所以我想在IRB控制台中调试它。
我正在运行后台任务

rake jobs:work

并且它不触发调试器语句。
如何加载调试器?

vojdkbi0

vojdkbi01#

启动标准Rails控制台

ruby script/console

在这里启动一个worker,它将看到并触发调试器语句。

worker = Delayed::Worker.new
worker.start
k4ymrczo

k4ymrczo2#

我使用pry作为我的控制台和远程调试器。Pry website herePry rails gem here。在代码中,添加binding.pry语句,让应用停止执行并打开控制台。它在delayed_job上的工作方式与在rails应用上的工作方式相同。但要确保在前台运行delayed_job,这样它仍然连接到终端。例如,delayed_job的起始值为:

rake jobs:work

相关问题