Shutdown hook for Rails

后端 未结 3 1310
时光说笑
时光说笑 2021-01-08 00:35

I\'d like to have some cleanup code run when Rails is shutting down - is that possible? My situation is that I have a few threads in the background (I\'m using jruby and ca

3条回答
  •  无人及你
    2021-01-08 00:49

    Within the context of a Rails Application, the best place to put such a file is in config/initializers. In my app, I needed to Flush the Redis/Sidekiq queue whenever the development or test environments shut down. This works perfectly.

    config/initializers/at_exit.rb

    at_exit do
      begin
        puts 'Flushing Redis...'
        Redis.new.flushall
      rescue => e
        puts "There was an #{e.to_s} while flushing redis..."
      ensure
        puts 'Done Flushing Redis!'
      end
    end unless Rails.env.production?
    

提交回复
热议问题