説明
同期プロセスの更新されたステータスまたはエラーを返します。
リクエスト
GET /api/v1/progress
応答
progressエンドポイントは更新されたステータスまたはエラーのいずれかを返します。
正常な応答
応答オブジェクトには、 2の最上位フィールド、 successとprogressが含まれています。
successフィールドには、 progressコマンドのステータスが含まれます。 常にtrueの場合、値はtrueです。
mongosyncが同期プロセスのステータスを正常に取得すると、すべての応答フィールドは次のフィールドを持つ最上位のprogressオブジェクトにラップされます。
フィールド | タイプ | 説明 |
|---|---|---|
| string |
|
| ブール値 |
|
| ブール値 |
インデックスの検証は、コミットが完了するまで続きます。 |
| string | 同期の進行状況に関する追加情報を提供します。 可能な
|
| integer |
ソースクラスターでは継続的な何も操作が行われないため、ソースクラスターで実際に書込み (write) が行われていない場合でも、時間差は 0 数秒を超えることが多いです。 |
| integer |
この値は永続化されず、カウントから特定のイベントが省略されるため、イベントの総数を正確に表さない可能性があります。 |
| オブジェクト | コレクションからコピーされるデータの合計量と、宛先クラスターにすでにコピーされたデータ量を見積もります |
| integer | コレクションの初期コピー中にすべての
|
| integer | コレクションの初期コピー中にこの 推定される進行状況の合計をパーセンテージとして計算するには、各 操作の再試行により、 |
| オブジェクト | 同期のマッピング方向(ソースクラスターと宛先クラスター)を説明します。 |
| string | ソースクラスター。 |
| string | 宛先クラスター。 |
| string |
バージョン 1.3 で追加。 |
| string | コーディネーター インスタンスの識別子 string。
バージョン 1.3 で追加。 |
エラー応答
mongosyncでエラーが発生した場合、 progressエンドポイントは次のフィールドを返します。
フィールド | タイプ | 説明 |
|---|---|---|
| ブール値 |
|
| string | エラーのタイプ。 |
| string | エラーの詳細な説明。 |
動作
mongosyncがIDLE状態にある場合、stateとcanCommitを除くすべての出力フィールドはnullになります。mongosyncがPAUSED状態にある場合、lagTimeSecondsフィールドはnullです。エンドポイントは自動更新されません。 更新されたステータスを取得するには、
progressエンドポイントを再度呼び出します。mongosyncがコレクション コピー フェーズに達する前に/progressを呼び出すと、estimatedCopiedBytesには0が、estimatedTotalBytesには1が返されます。estimatedTotalBytesソースクラスターでドキュメントが挿入または削除された場合、コレクションのコピーフェーズ中に変更される可能性があります。estimatedCopiedBytesはestimatedTotalBytesより大きくはありません。 コレクション コピー フェーズの終了時に進行状況が100 % に達しました(estimatedCopiedBytes=estimatedTotalBytes)。以前のバージョンから1.8.0以降へのライブ アップグレードを実行する場合、コレクションのコピー データは
[0 bytes copied / 1 bytes total]から開始されます。 ライブ アップグレード後、/progressはアップグレード完了後にコピーされたデータの進行状況のみを報告します。注意
mongosync1.7.3以降、 同期操作を再開または再開する際に、mongosyncが応答するまでに少なくとも 2 分かかる場合があります。 この間、progressエンドポイントへの呼び出しが失敗する可能性があります。progress呼び出しが失敗した場合は、安全に再試行できます。
エンドポイント保護
mongosync は、 progressエンドポイントを保護しません。 ただし、デフォルトでは、API は localhost のみにバインドされ、他のソースからの呼び出しは受け入れません。 さらに、 progress呼び出しでは接続認証情報やユーザー データは公開されません。
例
次の例では、同期プロセスのステータスを返します。
リクエスト
curl localhost:27182/api/v1/progress -XGET
応答
{ "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" } }, "success": true }