Class: AwsSqsMoniter::Middleware::Server::ActiveRecord::Retrier
- Inherits:
-
Object
- Object
- AwsSqsMoniter::Middleware::Server::ActiveRecord::Retrier
- Defined in:
- lib/aws_sqs_moniter/middleware/server/active_record/retrier.rb
Instance Method Summary collapse
- #call(&block) ⇒ Object
-
#initialize(options = {}) ⇒ Retrier
constructor
A new instance of Retrier.
Constructor Details
#initialize(options = {}) ⇒ Retrier
Returns a new instance of Retrier.
8 9 10 |
# File 'lib/aws_sqs_moniter/middleware/server/active_record/retrier.rb', line 8 def initialize( = {}) @options = { tries: 10, sleep: 0 }.merge end |
Instance Method Details
#call(&block) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/aws_sqs_moniter/middleware/server/active_record/retrier.rb', line 12 def call(&block) Retryable.retryable(@options.merge(on: [::ActiveRecord::RecordNotUnique])) do Retryable.retryable(@options.merge(matching: /TRDeadlockDetected|TRSerializationFailure/)) do yield block end end end |