4

私は現在、非常に遅いAPIを使用しており、多くの場合、Webサイトのユーザーはそれらが終了するのを待たなければなりません。たとえば、お問い合わせフォームが送信され、情報がAPIを介して送信される場合。

さて、少なくともユーザーにとって、API呼び出しを高速化するにはどうすればよいのでしょうか。別のPHPファイルに対して非同期のAJAX呼び出しを行い、そこからAPI呼び出しを行っても大丈夫ですか?もしそうなら、API呼び出しがまだ実行されている間にユーザーがページを閉じるとどうなりますか?彼は、すべてがすでに送信されていると思うかもしれません。

4

2 に答える 2

5

別のPHPファイルに対して非同期のAJAX呼び出しを行い、そこからAPI呼び出しを行っても大丈夫ですか?

はい、間違いなく; それが最善の方法です。

もしそうなら、API呼び出しがまだ実行されている間にユーザーがページを閉じるとどうなりますか?彼は、すべてがすでに送信されていると思うかもしれません。

送信される可能性があります。API呼び出しを実行しているPHPスクリプトは順調に進んでおり、クライアントが消えたことを検出するのは、応答(確認またはエラーの可能性が高い)を返そうとしたときだけです。API呼び出しが最終的に電子メールを生成する場合、ユーザーが待機するかどうかに関係なく完了します(API呼び出し自体にエラーがない限り)。

于 2012-09-14T03:42:21.380 に答える
0

cronまたはスケジュールされたタスクを実行する機能がある場合は、オフラインプロセスに変換します。たとえば、データベースをデータベースにローカルに保存し、すぐに戻ります。次に、cronを介して定期的に実行されるスクリプトを記述して、新しいエントリを処理します。

私はこれについて、この正確なプロセスについて説明している記事をブログに書きました:PHPを使用したスケーラブルなキューイングシステムの構築

于 2012-09-14T03:46:52.677 に答える