Perl / CGIアプリケーションから制御されるバルクメールスケジューラを書いていますが、CGIプログラムをフォークして別のタスクを実行するための「良い」方法を学びたいですか?やるべきでしょうか?または、最近提案されたように、 GearmanやTheSchwartzなどの別のジョブキューエンジンを実行するオーバーヘッドに苦しむ方がよいでしょう。バニラCGI.pmよりもCGI::ApplicationのようなMVCに近いフレームワークを使用すると、答え/視点は変わりますか?最後は、CGI :: Application Pluginについて私が考えている可能性のあるプロジェクトからのものです。これにより、プロセスの「フォーク」を比較的簡単に呼び出すことができます。
3079 次
2 に答える
9
Proc::Daemonを見てください-これは最も簡単に機能します。CGIスクリプトからCGIビジネスを実行し(入力を取得し、ブラウザーに応答を返します)、次にProc :: Daemon :: init()を呼び出します。これにより、フォークが実行され、プロセスがデーモン化され、親が終了します。次に、スクリプト(現在はデーモン)が長時間実行されるタスクを実行し、タスクが完了すると終了します。デーモンとして実行しているときに何か(ファイル、データベースレコード)を更新する必要があるため、後続のCGI呼び出しで、それが何をしたか(またはどのように進行しているか)を確認できます。
于 2009-06-05T10:13:26.780 に答える
0
POEのようなものは役に立ちますか?フォークよりもイベント駆動型ですが、ニーズを満たす場合があります。
于 2009-06-04T23:11:29.443 に答える