0

私のアプリケーションでは、分析したい記事のURLを入力することができます。 GoogleのAPIゲートウェイを経由して、このプロセスに携わる正しいサービスに到達します。分析には記事の語数に応じて5〜30秒かかります。フロントエンドで長いリクエストを処理するにはどうすればよいですか?

今のところ、私のreactjsクライアントはAPIに要求を送信し、応答を受け取るまでに5〜30秒待っています。ジョブをエンキューするなど、これを処理するためのより良い方法はありますか?それが完了したらAPIはクライアント(reactjsフロントエンド)にpingをさせますか?

答えて

0

Server-sent Events(SSE)を使用すると、サーバがブラウザに新しい情報をプッシュできるため、この目的のために私にとって理想的です。彼らはHTTP上で動作し、IEを除いてgood support for all browsersがあります。

次のように新しいプロセスを見ることができる:

  1. クライアントは、ルックアップを開始し、潜在的にブラウザが(ルックアップごとにユニークだ場合)に加入する必要があるトピックで応答サーバに要求を送信
  2. サーバーは新しいコンテンツを処理するときにそのことを行い、更新を送信します。あなたがクライアントに部分的な更新を知らせることができるということは、この美しさがどのように見えるかを見てください。

SSEがオプションではない場合は、双方向通信に優れた古いWebソケットを活用できますが、そのような単純な努力では、問題を解決するには多すぎる技術かもしれません。

第3の選択肢は、特に、サービス間で話している場合(相手側のウェブクライアントやモバイルクライアントがない場合)は、ウェブフックを使用して、特定のエンドポイント、公開者(処理を行うサーバー)は更新を書き込みます。

希望すると便利です。

関連する問題