ウェブアプリケーションにはいくつかのプロセスがあり、実行には最大10分かかることがあります。場合によっては、これらのプロセスはユーザーによってトリガーされ、処理されるときに出力が必要になることがあります。phpプロセスをフォークして特定のウェブユーザーと結ぶ
例えば、ユーザーは、必要な数のレコードを 探しています。 ボタンをクリックして レコードを取得します(これは に10分かかります)。彼らは を他のものに取り組むことができますが、 をクリックすると返品を見ることができます。 が更新され、レコードは としてシステムにダウンロードされます。
今のところ、プロセスの実行中にユーザーがロックされます。子プロセスをフォークするpcntl_fork()について知っているので、長いプロセスが完了するまで待つ必要はありません。
$_SESSION
変数で要求をトリガした特定のユーザーにフォークされたプロセスを結び付けることができるかどうか疑問に思っていました。プロセスが完了したらユーザーを更新できます。また、長期実行プロセスでユーザーを更新するには、これが最善の方法ですか?
私は 'pcntl_fork'をその文脈で使うべきではないと思います。フォークプロセスとマルチスレッドWebサーバーは問題があることが知られています。 Webアプリケーションの場合は、代わりにAJAXを使用して非同期アップデートをブラウザに送信することができます。 – netcoder