0

私はそこに、

ユーザー登録時に、サードパーティのサービスから多くの情報をインポートしています。

問題は、ページの読み込みに時間がかかることです。この「インポート」プロセスをバックグラウンドで実行する方法はありますか? (そのため、ユーザーはページを表示するのにそれほど待つ必要がなく、おそらく次の更新時にインポートが終了します)

ありがとう

4

2 に答える 2

1

登録プロセスを 2 つのステップに分割する必要があります。インポートが完了するのを待たずにロードする軽量のページと、重い作業を行う別のスクリプトです。1 つ目は AJAX を使用して 2 つ目をトリガーします。最終結果は、ワーカー スクリプトが終了すると適切に更新される「登録が処理されています」ページになります。

ignore_user_abortユーザーが待機中のページでブラウザ ウィンドウを閉じた場合に登録プロセスが中止されないように、ワーカー スクリプトの先頭で呼び出すように注意する必要があります。

于 2012-05-24T07:20:51.993 に答える
0

curl コマンドを実行して PHP スクリプト (「curl http://domain.com/php/something.php 」などの外部) にアクセスするか、単に php を実行するcron ジョブ (Linux を実行している場合) を設定する必要があります。内部ファイルを指すコマンド。

毎分 (cron ジョブがサポートする最小実行時間) 実行し、作業の「ブロック」を実行するスケジューラを作成できます。もちろん、デフォルトで使用される 30 秒の実行制限をスキップするように PHP を設定する必要があります。

于 2012-05-24T07:35:38.003 に答える