Classificação: Mongo::Servidor
- Herda:
-
Objeto
- Objeto
- Mongo::Servidor
- Estendido por:
- Encaminhável
- Inclui:
- Evento::editor, monitoramento::publicável
- Definido em:
- lib/mongo/ servidor.rb,
lib/mongo/ servidor/monitor.rb,
lib/mongo/ servidor/connection.rb,
lib/mongo/ servidor/description.rb,
lib/mongo/ servidor/app_metadata.rb,
lib/ mongo/ servidor/push_monitor.rb,
lib/mongo/ servidor/connection_base.rb,
lib/mongo/ servidor/connection_pool.rb,
lib/mongo/ servidor/connection_common.rb,
lib/mongo/ servidor/monitor/connection.rb,
lib/mongo/ servidor/pending_connection.rb,
lib/mongo/ servidor/description/features.rb,
lib/mongo/ servidor/monitor/app_metadata.rb,
lib/mongo/ servidor/app_metadata/platform.rb,
lib/mongo/ servidor/app_metadata/truncator.rb,
lib/mongo/ servidor/push_monitor/connection.rb,
lib/mongo/ servidor/app_metadata/environment.rb,
lib/mongo/ servidor/connection_pool/populator.rb,
lib/mongo/
servidor/ descrição/load_balancer.rb, lib/mongo/ servidor/round_trip_time_calculator.rb,
lib/mongo/ servidor/connection_pool/generation_manager.rb
Visão geral
Representa um único servidor no lado do servidor que pode ser autônomo, parte de um conjunto de réplicas ou um mongos.
Definido sob namespace
Classes: AppMeta
Colapsode resumo constante
- CONNECT_TIMEOUT =
O tempo padrão em segundos para atingir o tempo limite de uma tentativa de conexão.
10
Constantes incluídas do Loggable
Recolhimento do Resumo do atributo de instância
-
#endereço ➤ string
Somente leitura
O endereço configurado para o servidor.
-
#cluster ➤cluster
Somente leitura
Cluster O cluster de servidor .
-
#descrição ➤ Servidor::Descrição
Somente leitura
Descrição A descrição do servidor que o monitor atualiza.
-
#monitor ⇒ nil | Monitor
Somente leitura
Monitorar O monitor do servidor.
-
#monitoramento ➤ Monitoramento
Somente leitura
Monitoramento O monitoramento.
-
#opções ➤ Hash
Somente leitura
O hash de opções.
-
#round_tri
Somente leitura
privado
objeto de cálculo de tempo de ida e volta.
-
#varredura_semafore ➤ Semafore
Somente leitura
privado
Semáforo para sinalizar a solicitação de uma verificação imediata desse servidor por seu monitor, se houver um em execução.
Atributos incluídos do Evento::editor
Recolhimento do Resumo do método de instância
-
#==(outro) ➤ verdadeiro, falso
Este servidor é igual a outro?
- #clear_connection_pool(service_id: nil, interrupt_in_use_connections: false) ➤ Objeto privado
-
#clear_description ➤ Objeto
privado
Limpe a descrição do servidor para que ele seja considerado desconhecido e possa ser desconectado com segurança.
- # objetopróximo ➤
- #compressor ➤ string | nada obsoleto Obsoleto.
-
#conectável? ➤ verdadeiro, falso
obsoleto
Obsoleto.
Não é mais necessário com a especificação de seleção de servidor MongoDB.
-
#conectado? ➤ true|false
privado
Se o servidor está conectado.
-
#desconectar! ➤ verdadeiro
Desconecte o driver deste servidor.
-
#force_load_balancer? ➤ verdadeiro | false
privado
Retorna se este servidor é forçado a ser um balancer de carga.
-
#handle_auth_failure! ➤ Objeto
Lidar com falha de autenticação.
-
#handle_handshake_failure! ➤ Objeto
privado
Lidar com falha de handshake.
- #heartbeat_frequency ➤ Object (também: # heartbeat_frequency_seconds) obsoleto Obsoleto.
-
.
construtor
privado
Crie uma instância de um novo objeto de servidor .
-
#inspecionar ➤ string
Obtenha uma inspeção de servidor bem impressa.
-
#last_scan ➤ Hora | nada
Last_scan A hora em que a última verificação do servidor foi concluída, ou nulo se o servidor ainda não tiver sido verificado.
-
#last_scan_monotime ➤ Flutuante | nada
privado
Last_scan_monotime A hora monotônica em que a última verificação do servidor foi concluída ou nulo se o servidor ainda não tiver sido verificado.
-
#matches_tag_set?(tag_set) ⇒ true, false
Determine se as tags fornecidas são um subconjunto das tags do servidor.
- #próximo_connection_id ➤ Objeto privado
-
#pool ➤ Mongo::Server::ConnectionPool
Obtenha o pool de conexões deste servidor.
-
#pool_internal ➤ Server::ConnectionPool | nada
privado
Método de driver interno para recuperar o pool de conexões deste servidor.
-
#publish_opening_event ➤ Objeto
privado
Publica o evento de abertura do servidor .
-
#reconectar! ➤ verdadeiro
Reinicie o monitor do servidor .
-
#retry_reads? ➤ Booleano
privado
Se o servidor permite novas tentativas de leitura moderna.
-
#retry_writes? ➤ verdadeiro, falso
As gravações enviadas a este servidor serão repetidas.
-
#start_monitoring ➤ Objeto
privado
Comece a monitorar o servidor.
-
#status ➤ string
privado
string representando o status do servidor (por exemplo PRIMARY).
- #resumo ➤ Objeto
-
#desconhecido!(opções = {}) ➤ Objeto
Marca o servidor como desconhecido e publica o evento SDAM associado (descrição do servidor alterada).
- #update_description(description) ➤ Objeto privado
- #update_last_scan ⇒ Object privado
-
#with_connection(connection_global_id: nil, context: nil, &block) ➤ Objeto
Execute um bloco de código com uma conexão, que é check-out do pool do servidor e, em seguida, check-in novamente.
Métodos incluídos do Event::publisher
Métodos incluídos do monitoramento::publicável
#publish_cmap_event, #publish_event, #publish_sdam_event
Métodos incluídos no Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger
Detalhes do construtor
. _
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
O servidor nunca deve ser instanciado diretamente fora de um cluster.
Crie uma instância de um novo objeto de servidor . Iniciará a atualização em segundo plano e assinará os eventos apropriados.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/mongo/ servidor.rb', linha 69 def inicializar(endereço, cluster, Monitoramento, event_listeners, = {}) @address = endereço @cluster = cluster @monitoring = Monitoramento = .dup _monitor = .excluir(:monitor) @opções = .congelar @event_listeners = event_listeners @connection_id_gen = classe.Novo fazer Incluir id end @scan_semafore = Semahora Distinto.Novo @round_trip_time_calculator = OpenTripTimeCalculator.Novo @description = Descrição.Novo(endereço, {}, load_balancer: !!@opções[:load_balancer], force_load_balancer: force_load_balancer?) @last_scan = nada @last_scan_monotime = nada a menos que [:monitoring_io] == false @monitor = Monitorar.Novo(auto, event_listeners, Monitoramento, .mesclar( app_metadata: cluster., push_monitor_app_metadata: cluster., heartbeat_interval: cluster.heartbeat_interval )) start_monitoring a menos que _monitor == false end @connected = true @pool_lock = Mutex.Novo end |
Detalhes do atributo da instância
#endereço ➤ string (somente leitura)
Retorna o endereço configurado para o servidor.
101 102 103 |
# File 'lib/mongo/ servidor.rb', linha 101 def endereço @address end |
#cluster ➤ Cluster (somente leitura)
Retorna cluster O cluster de servidor .
104 105 106 |
# File 'lib/mongo/ servidor.rb', linha 104 def cluster @cluster end |
#descrição ➤ Servidor::Descrição (somente leitura)
Retorna descrição A descrição do servidor que o monitor atualiza.
118 119 120 |
# File 'lib/mongo/ servidor.rb', linha 118 def Descrição @description end |
#monitor ➤ nulo | Monitor (somente leitura)
Monitor de retorno O monitor do servidor . nil se o servidor foi criado com monitoring_io: opção falsa.
108 109 110 |
# File 'lib/mongo/ servidor.rb', linha 108 def monitorar @monitor end |
#Monitoring ➤ Monitoramento (somente leitura)
Monitoramento de retornos O monitoramento.
114 115 116 |
# File 'lib/mongo/ servidor.rb', linha 114 def Monitoramento @monitoring end |
#opções ➤ Hash (somente leitura)
Retorna o hash de opções.
111 112 113 |
# File 'lib/mongo/ servidor.rb', linha 111 def @opções end |
#round_trip_time_calculator ➤RoundTripTimeCalculator (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o objeto Calculadora de tempo de ida e volta.
227 228 229 |
# File 'lib/mongo/ servidor.rb', linha 227 def round_trip_time_calculator @round_trip_time_calculator end |
#varredura_semafor ➤ Semafor(somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o Semáforo para sinalizar a solicitação de uma verificação imediata deste servidor por seu monitor, se houver um em execução.
223 224 225 |
# File 'lib/mongo/ servidor.rb', linha 223 def varredura_semafore @scan_semafore end |
Detalhes do método de instância
#==(outro) ➤ true, false
Esse servidor é igual a outro?
239 240 241 242 243 |
# File 'lib/mongo/ servidor.rb', linha 239 def ==(Outro) Método false a menos que Outro.is_a?(Servidor) endereço == Outro.endereço end |
#clear_connection_pool(service_id: nil, interrupt_in_use_connections: false) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
642 643 644 645 646 647 648 649 650 651 652 |
# File 'lib/mongo/ servidor.rb', linha 642 def clear_connection_pool(service_id: nada, interrupt_in_use_connections: false) @pool_lock.sincronizar fazer # Um servidor sendo marcado como desconhecido após ser fechado é teoricamente # incorreto, mas não altera significativamente nenhum estado. # Porque historicamente o driver permitia que os servidores fossem marcados # desconhecido a qualquer momento, continue fazendo isso mesmo que o pool esteja fechado. se @pool && !@pool.fechado? @pool.desconecte-se!(service_id: service_id, interrupt_in_use_connections: interrupt_in_use_connections) end end end |
#clear_description ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Limpe a descrição do servidor para que ele seja considerado desconhecido e possa ser desconectado com segurança.
632 633 634 |
# File 'lib/mongo/ servidor.rb', linha 632 def clear_description @description = mongo::Servidor::Descrição.Novo(endereço, {}) end |
# objeto próximo ➤
287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# File 'lib/mongo/ servidor.rb', linha 287 def Fechar monitorar.pare! se monitorar @connected = false _pool = nada @pool_lock.sincronizar fazer _pool, @pool = @pool, nada end # TODO: altere isso para _pool.close em RUBY-3174. # Limpe o pool. Se o servidor não for desconhecido, o # pool ficará pronto. Pare o thread preenchedor de background. _pool&.Fechar(keep_ready: true) nada end |
#compressor ⇒ String | nil
A compressão é negociar para cada conexão separadamente.
O compressor negociar pelo monitor do servidor , se houver.
Este atributo é nulo se nenhuma verificação de servidor ainda tiver sido concluída e se nenhuma compactação tiver sido negociar.
175 176 177 178 179 |
# File 'lib/mongo/ servidor.rb', linha 175 def compressor, compressor Método a menos que monitorar monitorar.compressor, compressor end |
#conectável? ➤ true, false
Não é mais necessário com a especificação de seleção de servidor MongoDB.
Determine se uma conexão com o servidor pode ser estabelecida e se as mensagens podem ser enviadas para ele.
256 |
# File 'lib/mongo/ servidor.rb', linha 256 def conectável?; end |
#conectado? ➤ true|false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Se o servidor está conectado.
311 312 313 |
# File 'lib/mongo/ servidor.rb', linha 311 def conectado? @connected end |
#desconectar! ➤ verdadeiro
Desconecte o driver deste servidor.
Desconecta todas as conexões ociosas para este servidor em seu pool de conexões, se houver. Interrompe o preenchimento do pool de conexões, se ele estiver em execução. Não fecha imediatamente as conexões que estão atualmente com check-out (ou seja, em uso) - essas conexões serão fechadas quando forem retornadas aos seus respectivos pools de conexões. Pare o monitor de background do servidor.
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 |
# File 'lib/mongo/ servidor.rb', linha 270 def desconecte-se! monitorar.pare! se monitorar @connected = false # A especificação atual do CMAP exige que um pool seja praticamente inutilizável # se o servidor for desconhecido (ou, portanto, desconectado). # No entanto, quaisquer operações pendentes devem continuar até a conclusão, # e suas conexões precisam ser verificadas no pool para serem # desmoronado. Devido a esse requisito de limpeza, não podemos apenas # feche o pool e defina-o como nulo aqui, para ser recriado na próxima # vez que o servidor é descoberto. pool_internal&.Limpar true end |
#force_load_balancer? ➤ verdadeiro | false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna se este servidor é forçado a ser um balancer de carga.
125 126 127 |
# File 'lib/mongo/ servidor.rb', linha 125 def force_load_balancer? [:connect] == :load_balanced end |
#handle_auth_failure! ➤ Objeto
Lidar com falha de autenticação.
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 |
# File 'lib/mongo/ servidor.rb', linha 510 def handle_auth_failure! rendimento salvar mongo::Erro::SocketTimeoutError # possivelmente o cluster está lento, não desista dele aumentar salvar mongo::Erro::Erro de soquete, auth::Não autorizado => e # erro de rede sem tempo limite ou erro de autenticação, limpe o pool e marque o # topologia como desconhecida desconhecido!( geração: e.geração, service_id: e.service_id, stop_push_monitor: true ) aumentar end |
#handle_handshake_failure! ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Lidar com falha de handshake.
485 486 487 488 489 490 491 492 493 494 495 496 |
# File 'lib/mongo/ servidor.rb', linha 485 def handle_handshake_failure! rendimento salvar mongo::Erro::Erro de soquete, mongo::Erro::SocketTimeoutError => e a menos que e.rótulo?('SystemOverloadedError') desconhecido!( geração: e.geração, service_id: e.service_id, stop_push_monitor: true ) end aumentar end |
#heartbeat_frequency ➤ Object Também conhecido como: heartbeat_frequency_seconds
153 154 155 |
# File 'lib/mongo/ servidor.rb', linha 153 def heartbeat_frequency cluster.heartbeat_interval end |
#inspecionar ➤ string
Obtenha uma inspeção de servidor bem impressa.
346 347 348 |
# File 'lib/mongo/ servidor.rb', linha 346 def inspecionar "#<Mongo::Server:0x#{object_id} endereço=#{endereço.host}:#{endereço.porta} #{status}>" end |
#last_scan ➤ Hora | nada
Retorna last_scan A hora em que a última verificação do servidor foi concluída ou nulo se o servidor ainda não tiver sido verificado.
133 134 135 136 137 138 139 |
# File 'lib/mongo/ servidor.rb', linha 133 def last_scan se Descrição && !Descrição.config.vazio? Descrição.last_update_time mais @last_scan end end |
#last_scan_monotime ➤ Flutuante | nada
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna last_scan_monotime A hora monotônica em que a última verificação do servidor foi concluída ou nulo se o servidor ainda não tiver sido verificado.
144 145 146 147 148 149 150 |
# File 'lib/mongo/ servidor.rb', linha 144 def last_scan_monotime se Descrição && !Descrição.config.vazio? Descrição.last_update_monotime mais @last_scan_monotime end end |
#matches_tag_set?(tag_set) ➤ true, false
Determine se as tags fornecidas são um subconjunto das tags do servidor.
443 444 445 446 447 |
# File 'lib/mongo/ servidor.rb', linha 443 def matches_tag_set?(tag_set) tag_set.keys.todos? fazer |k| [k] && [k] == tag_set[k] end end |
#próximo_connection_id ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
655 656 657 |
# File 'lib/mongo/ servidor.rb', linha 655 def Next_connection_id @connection_id_gen.Next_id end |
#pool ➤ Mongo::Server::ConnectionPool
Obtenha o pool de conexões deste servidor.
408 409 410 411 412 413 414 415 416 417 |
# File 'lib/mongo/ servidor.rb', linha 408 def pool aumentar Erro::ServerNotUsable, endereço se desconhecido? @pool_lock.sincronizar fazer opciona = conectado? ? : .mesclar(populator_io: false) @pool ||= Pool de Conexões.Novo(auto, opciona).toque fazer |pool| pool.pronto end end end |
#pool_internal ➤ Server::ConnectionPool | nada
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Método de driver interno para recuperar o pool de conexões deste servidor.
Ao contrário de pool, pool_internal não criará um pool se um ainda não existir.
427 428 429 430 431 |
# File 'lib/mongo/ servidor.rb', linha 427 def pool_internal @pool_lock.sincronizar fazer @pool end end |
#publish_opening_event ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Publica o evento de abertura do servidor .
331 332 333 334 335 336 |
# File 'lib/mongo/ servidor.rb', linha 331 def publish_opening_event publish_sdam_event( Monitoramento::SERVER_OPENING, Monitoramento::Evento::ServerOpening.Novo(endereço, cluster.topologia) ) end |
#reconectar! ➤ verdadeiro
Reinicie o monitor do servidor .
457 458 459 460 |
# File 'lib/mongo/ servidor.rb', linha 457 def reconecte-se! monitorar.reinicie! se [:monitoring_io] != false @connected = true end |
#retry_reads? ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Se o servidor permite novas tentativas de leitura moderna.
529 530 531 |
# File 'lib/mongo/ servidor.rb', linha 529 def retry_reads? !!logical_session_timeout end |
#retry_writes? ➤ true, false
As Retryable Writes só estão disponíveis com clusters fragmentados ou conjuntos de réplicas.
Algumas das condições neste método retornam automaticamente falso para topologias com balanceamento de carga. As condições neste método devem ser sempre verdadeiras, uma vez que as topologias com balanceamento de carga só estão disponíveis no MongoDB 5.0+, e não para topologias autônomo . Portanto, podemos presumir que as gravações repetidas estão ativadas.
As gravações enviadas a este servidor serão repetidas.
549 550 551 |
# File 'lib/mongo/ servidor.rb', linha 549 def retry_writes? !!((logical_session_timeout && !autônomo?) || load_balancer?) end |
#start_monitoring ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Comece a monitorar o servidor.
Usado internamente pelo driver para adicionar um servidor a um cluster enquanto atrasa o monitoramento até que o servidor esteja no cluster.
321 322 323 324 325 326 |
# File 'lib/mongo/ servidor.rb', linha 321 def start_monitoring publish_opening_event Método a menos que [:monitoring_io] != false monitorar.corra! end |
#status ⇒ String
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna uma string que representa o status do servidor (por exemplo, PRIMARY).
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 |
# File 'lib/mongo/ servidor.rb', linha 353 def Status se load_balancer? 'LB' elsif primário? 'PRIMARY' elsif secundário? 'SECUNDÁRIO' elsif autônomo? 'STANDALONE' elsif árbitro? 'ARBITER' elsif ghost? 'GHOST' elsif outro? 'OTHER' elsif mongos? 'MONGOS' elsif desconhecido? 'UNKNOWN' mais # Como o método resumo é frequentemente usado para depuração, não crie # uma exceção caso nenhum dos tipos esperados corresponda nada end end |
#resumo ➤ Objeto
Este método é experimental e sujeito a alterações.
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 |
# File 'lib/mongo/ servidor.rb', linha 383 def Resumo Status = auto.Status || '' Status += " replica_set=#{replica_set_name}" se replica_set_name Status += ' NO-MONITORING' a menos que monitorar&.executando? Status += " pool=#{@pool.resume}" se @pool endereço_bit = se endereço "#{endereço.host}:#{endereço.porta}" mais 'nil' end "#<Endereço do servidor=#{endereço_bit} #{status}>" end |
#desconhecido!(opções = {}) ➤ Objeto
Marca o servidor como desconhecido e publica o evento SDAM associado (descrição do servidor alterada).
Se a geração for passada em opções, o servidor só será marcado como desconhecido se a geração passada não for mais antiga do que a geração atual do pool de conexões do servidor.
577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 |
# File 'lib/mongo/ servidor.rb', linha 577 def desconhecido!( = {}) pool = pool_internal se load_balancer? # Quando o cliente está em topologia com balanceamento de carga, servidores (o e # somente que pode ser) começa como balanceador de carga e permanece como # balanceador de carga indefinidamente. Como tal, não está marcado como desconhecido. # # No entanto, este método também limpa o pool de conexões do servidor # quando o último é marcado como desconhecido e essa parte precisa acontecer # quando o servidor é um balancer de carga. # # É possível que um servidor do balancer de carga não tenha um ID de serviço, #, por exemplo , se ainda não houve nenhuma conexão bem-sucedida para # este servidor, mas o servidor ainda pode ser marcado como desconhecido se um # dessas conexões falharam no meio do caminho para o estabelecimento. se service_id = [:service_id] pool&.desconecte-se!(service_id: service_id) end Método end # NOTA: você não pode usar a navegação segura aqui porque, se o pool for nulo, você terminará # up tentando avaliar Inteiro < nil que é inválido. Método se [:generação] && pool && [:generação] < pool.geração se [:topology_version] && Descrição.topology_version && ![:topology_version].gt?(Descrição.topology_version) Método end monitorar&.stop_push_monitor! se [:stop_push_monitor] # O fluxo SDAM atualizará a descrição no servidor sem no local # mutações e invoque transições SDAM conforme necessário. config = {} config['serviceId'] = [:service_id] se [:service_id] config['topologyVersion'] = [:topology_version] se [:topology_version] new_description = Descrição.Novo(endereço, config, load_balancer: load_balancer?, force_load_balancer: [:connect] == :load_balanced) cluster.run_sdam_flow(Descrição, new_description, ) end |
#update_description(description) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
622 623 624 625 626 |
# File 'lib/mongo/ servidor.rb', linha 622 def update_description(Descrição) pool = pool_internal pool.pronto se pool && !Descrição.desconhecido? @description = Descrição end |
#update_last_scan ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
660 661 662 663 |
# File 'lib/mongo/ servidor.rb', linha 660 def update_last_scan @last_scan = Hora.agora @last_scan_monotime = Utilidades.monotonic_time end |
#with_connection(connection_global_id: nil, context: nil, &block) ➤ Objeto
Execute um bloco de código com uma conexão, que é check-out do pool do servidor e, em seguida, check-in novamente.
473 474 475 476 477 478 479 |
# File 'lib/mongo/ servidor.rb', linha 473 def with_connection(connection_global_id: nada, contexto: nada, &noum: bloco ; verb: bloquear) pool.with_connection( connection_global_id: connection_global_id, contexto: Contexto, &noum: bloco ; verb: bloquear ) end |