Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Encerrar operações em execução

Nesta página

  • Visão geral
  • Procedimentos disponíveis

O MongoDB fornece duas instalações para encerrar operações em execução: maxTimeMS() e db.killOp(). Use essas operações conforme o necessário para controlar o comportamento das operações em um sistema do MongoDB.

O método maxTimeMS() define um limite de tempo para uma operação. Quando a operação atinge o limite de tempo especificado, o MongoDB interrompe a operação no próximo ponto de interrupção.

A partir do mongosh, utilize o seguinte método para definir um limite de tempo de 30 milissegundos para esta query:

db.location.find( { "town": { "$regex": "(Pine Lumber)",
"$options": 'i' } } ).maxTimeMS(30)

Considere uma operação de execução potencialmente longa usando distinct para retornar cada campo collection distinto que tenha uma chave city:

db.runCommand( { distinct: "collection",
key: "city" } )

Você pode adicionar o campo maxTimeMS ao documento de comando para definir um limite de tempo de 45 milissegundos para a operação:

db.runCommand( { distinct: "collection",
key: "city",
maxTimeMS: 45 } )

Operações que atingirem maxTimeMS retornarão um erro MaxTimeMSExpired.

O método db.killOp() interrompe uma operação em execução no próximo ponto de interrupção. db.killOp() identifica a operação de destino por ID da operação.

db.killOp(<opId>)

Aviso

Encerre as operações em execução com extrema cautela. Use apenasdb.killOp() para encerrar operações iniciadas por clientes e não encerre operações internas de banco de dados.

O comando killOp pode ser executado em um mongos e pode eliminar queries (ou seja, operações de leitura) que abrangem fragmentos em um cluster. O comando killOp do mongos não se propaga para os shards quando a operação a ser eliminada é uma operação de gravação.

Para saber mais sobre como eliminar operações em um cluster fragmentado, consulte:

Para obter informações sobre como listar as operações de fragmentação que estão ativas em um mongos, consulte o parâmetro localOps em $currentOp.

Voltar

Gestão