私は、ユーザーがかなり長時間のプロセス(5〜30秒)を開始できるようにするアプリケーションを作成しようとしています。プロセスは、生成されたプロセスの出力を確認することができます。出力はユーザーの現在のセッションにのみ必要なので、何も長期間保存する必要はありません。Pylonsでバックグラウンドプロセスを起動するにはどうしたらいいですか?
Pylonsのコントローラでこのようなバックグラウンド・プロセスを起動するための最良の方法は何ですか:私はPylonsのフレームワークを活用しながら、これを実現する方法に関する2つの質問がありますか?
バックグラウンドプロセスの出力をユーザーに戻す最良の方法は何ですか? (?I等、セッションデータに、データベース内の出力を格納する必要があります)
編集: 問題は、私はコントローラにsubprocess
を使用してコマンドを起動した場合、コントローラは、サブプロセスを待ちます処理が完了するまで、読み込み中の空白のページをユーザーに表示して、続行する前に終了します。私は、サブプロセスを開始した直後にユーザーをステータスページにリダイレクトして、それを単独で完了できるようにしたいと考えています。
私はこの問題にぶつかっています。それは安全ですか? 1分ごとに10000人のユーザーがいる場合はどうなりますか?そして、ほとんどのリクエストは非常に高価ですか?それから多くのデーモンが動いていますか?また、デーモンパイロンプロセスの実行を提案していますか? ThAnks。 – User007
これは安全ですか?はい、私はこれを数年間、実稼働環境で使用してきました。デーモンが正常に終了するプロセスを確認してください。しかし、私の負荷はおそらく*時間*当たり数十人のユーザーに過ぎません。 1時間あたり10,000人のユーザーで、長時間実行されるプロセスを安全に起動する方法はありますか?あなたのサーバでも、そのような種類のメモリ/ CPU使用量を処理できますか? 2番目のプロセスをフォークアウトしなかった場合は、Webサーバーの設定でも処理できますか? – Mark