Драйвер ruby поддерживает тайм-ауты, например,
@conn = Connection.new("localhost", 27017, :pool_size => 5, :timeout => 5)
Но драгоценный камень central_logger этим не пользуется. Таким образом, вы можете либо разветвить его, чтобы добавить это туда, либо monkey-path метод CentralLogger :: MongoLogger.connect
Это в настоящее время имеет
def connect
@mongo_connection ||= Mongo::Connection.new(@db_configuration['host'],
@db_configuration['port'],
:auto_reconnect => true).db(@db_configuration['database'])
if @db_configuration['username'] && @db_configuration['password']
# the driver stores credentials in case reconnection is required
@authenticated = @mongo_connection.authenticate(@db_configuration['username'],
@db_configuration['password'])
end
end
Вам потребуется путь обезьяны in: timeout => 5 (или что-то еще) в Mongo :: Connection.new
Я бы поспорил, что автору central-logger хотелось бы, чтобы это было там, поэтому, скорее всего, будет приветствоваться запрос на разветвление и извлечение.