我有一个使用delayed_job运行的后台任务。
从日志记录语句中,我可以看到它正在运行。与在前台运行相比,它似乎没有正确的结果,因此我想在IRB控制台中对其进行调试。
我是这样运行后台任务的:
rake jobs:work
它不会触发调试器语句。
我该如何加载调试器?
我有一个使用delayed_job运行的后台任务。
从日志记录语句中,我可以看到它正在运行。与在前台运行相比,它似乎没有正确的结果,因此我想在IRB控制台中对其进行调试。
我是这样运行后台任务的:
rake jobs:work
它不会触发调试器语句。
我该如何加载调试器?
启动标准的 Rails 控制台
ruby script/console
在这里启动一个工作进程,这会触发调试器语句。
worker = Delayed::Worker.new
worker.start
我使用Pry作为我的控制台和远程调试器。Pry网站在这里,Pry rails gem在这里。在你的代码中,添加binding.pry
语句可以让你的应用停止执行并打开控制台。它与你的Rails应用程序一样适用于delayed_job
。请确保在前台运行delayed_job
,以便它仍然连接到终端。例如,使用以下命令启动delayed_job
:
rake jobs:work