Module: Mongoid::Collections::Retry
- Defined in:
- lib/tengine/core/mongoid_fix.rb
Instance Method Summary collapse
-
#retry_on_connection_failure ⇒ Object
github.com/mongoid/mongoid/pull/1739 Mongoid 2.3.x needs additional fix.
Instance Method Details
#retry_on_connection_failure ⇒ Object
github.com/mongoid/mongoid/pull/1739 Mongoid 2.3.x needs additional fix
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/tengine/core/mongoid_fix.rb', line 24 def retry_on_connection_failure retries = 0 begin yield rescue Mongo::ConnectionFailure, Mongo::OperationTimeout, Mongo::OperationFailure => ex raise if ex.class == Mongo::OperationFailure and ex. !~ /not master/ retries += 1 raise if retries > Mongoid.max_retries_on_connection_failure Kernel.sleep(0.5) log_retry retries retry end end |