module Mongoid::Collections::Retry
Public Instance Methods
retry_on_connection_failure() { || ... }
click to toggle source
github.com/mongoid/mongoid/pull/1739 Mongoid
2.3.x needs additional fix
# File lib/tengine/core/mongoid_fix.rb, line 23 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.message !~ /not master/ retries += 1 raise if retries > Mongoid.max_retries_on_connection_failure Kernel.sleep(0.5) log_retry retries retry end end