2017-07-06 5 views
0

MySQL DBにデータを挿入するためにREST APIを呼び出すアングルアプリを構築しました。角度のあるHTTP要求の再試行により、複数の挿入が発生する

ロジックは、アプリケーションが10秒以内に応答を受け取らない場合、同じ要求を再試行します。

サーバーには、データを挿入するために必要な値を計算するためにいくつかのロジックが適用されています。したがって、クライアントが渡した挿入レコードの数が多い場合、要求を10秒以内に完了することはできません。クライアントは要求を打ち切り、同じ要求を再試行します。これにより、複数のレコードが挿入されます。

誰かが同じことについて実績のあるソリューションを提案できますか?

ありがとうございます。

+0

さて、再試行しないでください。エラーが発生していない場合、再試行のポイントは何ですか?それは重複を引き起こし、すでに圧倒されているサーバーにさらに大きなプレッシャーをかけることになります。 –

+0

APIへのリクエストごとに一意のリクエストIDをスタンプし、APIの最後に、リクエストがすでに処理されているかどうかを確認する予定です。はいの場合は、重複要求が受信されたというエラーメッセージを送信します。それは良い解決策ですか? –

答えて

0

エラーの場合のみ再試行します。そうでない場合は、応答が重複しています(最終的に応答します)。

関連する問題