Reputation: 8961
I have this line on my code
puts "done clearing for #{@transfer_account.inspect}"
I want it to run only if i'm running the cron job (with rails runner)
so trying to implement
puts_if_runner "done clearing for #{@transfer_account.inspect}"
The command is
bundle exec rails runner -e production "Transfer.process!"
Upvotes: 2
Views: 395
Reputation: 3779
Since every Rails application is a Railtie, you can use the Railties API to set a flag at process start time. I have this in my config/application.rb
:
class Application < Rails::Application
# Are we in rails runner?
config.is_rails_runner = false
runner do |app|
app.config.is_rails_runner = true
end
#...
Then later on you can test this flag:
if Rails.application.config.is_rails_runner
puts "done clearing for #{@transfer_account.inspect}"
end
Upvotes: 3