Class: AwsSqsMoniter::Middleware::Server::ActiveRecord::Transaction
- Inherits:
-
Object
- Object
- AwsSqsMoniter::Middleware::Server::ActiveRecord::Transaction
- Defined in:
- lib/aws_sqs_moniter/middleware/server/active_record/transaction.rb
Constant Summary collapse
- RETRIER_OPTIONS =
%i(tries sleep on_retriable_error)
- TRANSACTION_OPTIONS =
%i(requires_new joinable isolation)
Instance Method Summary collapse
- #call(worker, _queue, _sqs_msg, _body) ⇒ Object
-
#initialize(options = {}) ⇒ Transaction
constructor
A new instance of Transaction.
Constructor Details
#initialize(options = {}) ⇒ Transaction
Returns a new instance of Transaction.
11 12 13 14 |
# File 'lib/aws_sqs_moniter/middleware/server/active_record/transaction.rb', line 11 def initialize = {} @transaction_options = .select { |k, _| TRANSACTION_OPTIONS.include? k } @retrier_default_options = .select { |k, _| RETRIER_OPTIONS.include? k } end |
Instance Method Details
#call(worker, _queue, _sqs_msg, _body) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/aws_sqs_moniter/middleware/server/active_record/transaction.rb', line 16 def call worker, _queue, _sqs_msg, _body Retrier.new((worker)).call do ::ActiveRecord::Base.transaction(@transaction_options) do yield end end end |