25

我有一个使用delayed_job 运行的后台任务。

我可以看到它确实从日志记录语句中运行。与在前台运行相比,它似乎没有正确的结果,所以我想在 IRB 控制台中调试它。

我正在运行后台任务

rake jobs:work

并且它不会触发调试器语句。

如何加载调试器?

4

2 回答 2

45

启动标准 Rails 控制台

ruby script/console

并在这里启动一个工作人员,这将看到并触发调试器语句。

worker = Delayed::Worker.new
worker.start
于 2013-08-09T01:43:51.887 回答
13

我使用 pry 作为我的控制台和远程调试器。在这里撬网站,在这里撬导轨宝石。在您的代码中,您添加 binding.pry 语句以使您的应用程序停止执行并打开控制台。delay_job 的工作原理与您的 rails 应用程序相同。确保您在前台运行延迟作业,因此它仍然连接到终端。例如,使用以下命令启动延迟作业:

rake jobs:work
于 2013-09-12T21:27:13.180 回答