I have a background task that runs using delayed_job.
I can see that it does run from the logging statements. It does not seem to have the correct result, compared to running it in the foreground, so I want to debug it in the IRB console.
I am running the background task with
rake jobs:work
and it does not trigger the debugger statement.
How can I load the debugger?
Start a standard rails console
ruby script/console
And start a worker inside here, this will see and trigger the debugger statement.
worker = Delayed::Worker.new worker.start
I use pry as my console and remote debugger. Pry website here, Pry rails gem here. In your code, you add binding.pry statements to have your app stop executing and open the console. It works the same with delayed_job as it does with your rails app. Make sure you are running delayed_job in the foreground though, so it is still attached to the terminal. E.g., start delayed_job with:
rake jobs:work
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With