progress
Nesta página
Descrição
Retorna um status atualizado do processo de sincronização ou um erro.
Solicitar
GET /api/v1/progress
Resposta
O endpoint progress
retorna um status atualizado ou um erro.
Resposta bem-sucedida
O objeto de resposta contém 2 campos de nível superior, success
e progress
.
O campo success
contém o status do comando progress
. O valor é true
se sempre true
.
Se mongosync
obter com êxito o status do processo de sincronização, todos os campos de resposta serão agrupados no objeto progress
de nível superior com os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
state | string | O estado atual de mongosync . Para obter informações sobre os estados possíveis, consulteDescrições de estado do . |
canCommit | booleano | Se true , indica que uma solicitação de confirmação será bem-sucedida. Isso também significa que a sincronização inicial foi concluída e está aplicando eventos de alteração. |
canWrite | booleano | Se A validação do índice continua até que o commit seja concluído. |
info | string | Fornece informações adicionais sobre o progresso da sincronização. Os possíveis valores de
|
lagTimeSeconds | inteiro | Diferença de tempo, em segundos, entre o último carimbo de data/hora do evento que
Devido às constantes no-ops no cluster de origem, a diferença de tempo geralmente é de alguns segundos acima de zero, mesmo que não haja gravações reais no cluster de origem. A diferença de tempo se torna zero quando |
totalEventsApplied | inteiro | O número aproximado de eventos de alteração que esta instância de Esse valor pode não ser uma representação precisa do número total de eventos porque não é persistente e omite determinados eventos da contagem. |
collectionCopy | objeto | Estima a quantidade total de dados que estão sendo copiados de collection e a quantidade que já foi copiada para o cluster de destino |
collectionCopy
.estimatedTotalBytes | inteiro | Número total estimado de bytes a serem copiados globalmente por todas as instâncias
|
collectionCopy
.estimatedCopiedBytes | inteiro | Número estimado de bytes que foram copiados para o cluster de destino por essa instância Para calcular o progresso total estimado como uma porcentagem, adicione o valor do campo O valor de |
directionMapping | objeto | Descreve a direção de mapeamento para a sincronização, ou seja, os clusters de origem e destino. |
directionMapping
.Source | string | cluster de origem. Retornado no formulário <cluster name>: <host>:<port> . |
directionMapping
.Destination | string | Cluster de destino. Retornado no formulário <cluster name>: <host>:<port> . |
mongosyncID | string | string identificador para a instância Novidade na versão 1.3. |
coordinatorID | string | string identificador para a instância do coordenador.
Novidade na versão 1.3. |
verification | documento | Fornece informações sobre a fase e o progresso das verificações de verificação realizadas pelo verificador incorporado. Novidades na versão 1.9. |
verification.source | documento | Fornece informações sobre a fase e o progresso das verificações de verificação em execução no cluster de origem. Novidades na versão 1.9. |
verification.source. estimatedDocumentCount | inteiro | Número estimado de documentos no cluster de origem. Novidades na versão 1.9. |
verification.source. hashedDocumentCount | inteiro | Número de documentos hash pelo verificador no cluster de origem. Novidades na versão 1.9. |
verification.source. lagTimeSeconds | inteiro | Tempo em segundos após a última verificação ser realizada no cluster de origem. Novidades na versão 1.9. |
verification.source. phase | string | Fase atual do processo de verificação no cluster de origem. Novidades na versão 1.9. |
verification.source. scannedCollectionCount | inteiro | Número de collections verificadas pelo verificador embarcado no cluster de origem. Novidades na versão 1.9. |
verification.source. totalCollectionCount | inteiro | Número de collections no cluster de origem a serem incluídas nas verificações de verificação. |
verification.destination | documento | Fornece informações sobre a fase e o progresso das verificações em execução no cluster de destino. Novidades na versão 1.9. |
verification.destination. estimatedDocumentCount | inteiro | Número estimado de documentos no cluster de destino. Novidades na versão 1.9. |
verification.destination. hashedDocumentCount | inteiro | Número de documentos hash pelo verificador no cluster de destino. Novidades na versão 1.9. |
verification.destination. lagTimeSeconds | inteiro | Tempo em segundos desde a última verificação realizada no cluster de destino. Novidades na versão 1.9. |
verification.destination. phase | string | Fase atual do processo de verificação no cluster de destino. Novidades na versão 1.9. |
verification.destination. scannedCollectionCount | inteiro | Número de collections verificadas pelo verificador embarcado no cluster de destino. Novidades na versão 1.9. |
verification.destination. totalCollectionCount | inteiro | Número de collections no cluster de destino a serem incluídas nas verificações de verificação. Novidades na versão 1.9. |
Resposta de erro
Se mongosync
encontrar um erro, o endpoint progress
retornará os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
success | booleano | Status do comando progress . O valor é true se o comando for bem-sucedido e false se o comando falhar. |
error | string | Tipo de erro. |
errorDescription | string | Descrição detalhada do erro. |
Comportamento
Quando
mongosync
está no estadoIDLE
, todos os campos de saída, excetostate
ecanCommit
, sãonull
.Quando
mongosync
está no estadoPAUSED
, o campolagTimeSeconds
énull
.O endpoint não é atualizado automaticamente. Para obter o status atualizado, chame o endpoint
progress
novamente.Chamadas para
/progress
antesmongosync
chegar à fase de cópia da coleção retornam 0 paraestimatedCopiedBytes
e 1 paraestimatedTotalBytes
.estimatedTotalBytes
pode mudar ao longo da fase de cópia da coleção se documentos forem inseridos ou excluídos no cluster de origem.estimatedCopiedBytes
nunca é maior queestimatedTotalBytes
. O progresso atinge 100% no final da fase de cópia da coleção (estimatedCopiedBytes
=estimatedTotalBytes
).Ao executar uma atualização ao vivo de uma versão anterior para 1.8.0 ou superior, os dados de cópia da coleção começam a partir de
[0 bytes copied / 1 bytes total]
. Após uma atualização em tempo real,/progress
só informa o progresso dos dados copiados após a conclusão da atualização.Observação
A partir de
mongosync
1.7.3,mongosync
pode levar pelo menos dois minutos para responder quando você retoma ou reinicia uma operação de sincronização. Durante esse tempo, qualquer chamada para o endpointprogress
pode falhar. Se uma chamadaprogress
falhar, é seguro tentar novamente.
Proteção de endpoint
mongosync
não protege o endpoint progress
. No entanto, por padrão, a API é vinculada apenas ao host local e não aceita chamadas de outras fontes. Além disso, a chamada progress
não expõe credenciais de conexão ou dados de usuário.
Exemplo
O exemplo a seguir retorna o status do processo de sincronização.
Solicitar
curl localhost:27182/api/v1/progress -XGET
Resposta
{ "progress": { "state":"RUNNING", "canCommit":true, "canWrite":false, "info":"change event application", "lagTimeSeconds":0, "collectionCopy": { "estimatedTotalBytes":694, "estimatedCopiedBytes":694 }, "directionMapping": { "Source":"cluster0: localhost:27017", "Destination":"cluster1: localhost:27018" }, "verification": { "source": { "estimatedDocumentCount": 42, "hashedDocumentCount": 42, "lagTimeSeconds": 2, "totalCollectionCount": 42, "scannedCollectionCount": 10, "phase": "stream hashing" }, "destination": { "estimatedDocumentCount": 42, "hashedDocumentCount": 42, "lagTimeSeconds": 2, "totalCollectionCount": 42, "scannedCollectionCount": 10, "phase": "stream hashing" } } }, "success": true }