2012-03-12 18 views
0

ビューがレンダリングされ、ユーザーに返された後に、いくつかのコードを実行するという単純な要件があります。Zend framework:ユーザーに送信されたレスポンスの後にコードを実行

ユーザーは処理結果を通知する必要はなく、おそらく数秒かかるだけですが、ユーザーと関係のない処理中にユーザーを押さえたくない場合もあります。

私はおそらくギアマンや類似のものを実装する必要がありますが、すぐに何かをすばやく簡単にする必要があることを知っています。

私は理想的には、実行されたアクションで作成されたzend_registryやその他のデータにアクセスする必要があります。

私は

何の考え...

おかげで...プラグインを考えるとrouteShutdownをトラップ()が、これはこれまですでに消えていたようです。

答えて

3

このような状況では、私は通常、おそらくdbテーブルに格納されているキューを作成してから、cronプロセスを実行してキューを消費します。キューには、要求後処理を行うために必要なデータ(または少なくともデータへのポインタ)が含まれています。

注:実際のHTTPリクエストオブジェクトと(なZend_Registryに保存されているもののような)全てのリクエスト固有のデータは、あなたのcronプロセスによって直接アクセスすることはできませんを行っています。リクエスト後の処理を行うためにリクエストごとのデータが必要な場合は、そのデータを作業キューまたは他の永続的な場所に保存してください。

+1

これはOPにとって最適な解決策だと思います。メッセージキューデーモンをインストールする必要はなく、比較的高速に実装できます。 – galymzhan

関連する問題