statement_timeout

Use statement_timeout
to wrap an Active Record transaction or query in a
local statement timeout.
This gem was extracted from Keygen.
Sponsored by:
A fair source software licensing and distribution API.
Installation
Add this line to your application's Gemfile
:
gem 'statement_timeout'
And then execute:
$ bundle
Or install it yourself as:
$ gem install statement_timeout
Usage
User.statement_timeout 42.minutes do
some_expensive_operation
end
User.posts.statement_timeout 10.seconds do
some_cheap_operation
end
Tag.statement_timeout 6.hours do |conn|
conn.execute 'VACUUM ANALYZE tags'
end
Supported databases
We currently support PostgreSQL. We'd love contributions that add MySQL,
MariaDB, and SQLite support, but we probably won't add it ourselves.
Supported Rubies
statement_timeout
supports Ruby 3.1 and above. We encourage you to upgrade
if you're on an older version. Ruby 3 provides a lot of great features, like
better pattern matching and a new shorthand hash syntax.
Is it any good?
Yes.
Contributing
If you have an idea, or have discovered a bug, please open an issue or create a
pull request.
License
The gem is available as open source under the terms of the MIT License.