我有一个使用delayed_job运行的后台任务。我可以看到它确实从日志语句运行。与在前台运行相比,它似乎没有正确的结果,所以我想在IRB控制台中调试它。我正在运行后台任务
rake jobs:work
并且它不触发调试器语句。如何加载调试器?
vojdkbi01#
启动标准Rails控制台
ruby script/console
在这里启动一个worker,它将看到并触发调试器语句。
worker = Delayed::Worker.new worker.start
k4ymrczo2#
我使用pry作为我的控制台和远程调试器。Pry website here,Pry rails gem here。在代码中,添加binding.pry语句,让应用停止执行并打开控制台。它在delayed_job上的工作方式与在rails应用上的工作方式相同。但要确保在前台运行delayed_job,这样它仍然连接到终端。例如,delayed_job的起始值为:
binding.pry
delayed_job
2条答案
按热度按时间vojdkbi01#
启动标准Rails控制台
在这里启动一个worker,它将看到并触发调试器语句。
k4ymrczo2#
我使用pry作为我的控制台和远程调试器。Pry website here,Pry rails gem here。在代码中,添加
binding.pry
语句,让应用停止执行并打开控制台。它在delayed_job
上的工作方式与在rails应用上的工作方式相同。但要确保在前台运行delayed_job
,这样它仍然连接到终端。例如,delayed_job
的起始值为: