1

ローカルファイルシステムからのテキストファイルを処理するperlアプリがあります(過度に複雑なgrepと考えてください)。リモートユーザーが必要なパラメーターを設定してperlアプリを呼び出せるようにするWebアプリを設計したいと思います。実行されたら、プロセスのステータス(実行中、%完了、終了)について、perlアプリとWebアプリの間で何らかの通信を行うことが望ましいでしょう。2つのプロセス間の通信の推奨される方法はどちらですか?私はデータベーステーブルで考えていましたが、それが良い考えかどうかはよくわかりません。

任意の提案をいただければ幸いです。

4

2 に答える 2

1

スタッカー、先に進み、この回答を編集して、コード例またはそれらへのリンクを追加します。

DrNoone、2つのアプローチが思い浮かびます。

  1. 折り返し電話

    greppyアプリは、ステータスを返し、Webアプリによって定期的に呼び出されるコールバック関数を提供する必要があります。

  2. イベント

    これは、外部アプリケーションから使用可能なイベントループを公開するWebサーバー/アプリフレームワークをすでに使用している場合に意味があります(Perlランドではほとんどありません)。greppyアプリはステータスの変更時にイベントを発生させ、Webアプリはそれらに接続/リッスンし、それに応じて動作します。


あなたが想像するIPCの場合、プレーンデータベースはそれほど適していません。代わりにメッセージキューを調べてください。優れた相互運用のために、AMPQ準拠の実装を選択してください。

于 2011-06-08T09:32:17.443 に答える
0

を使用してプロセスを実行するopen($handle, "cmd |")と、結果をリアルタイムで読み取り、応答が開いている間にSTDOUTに直接出力できます。それはおそらく最も簡単なアプローチです。

于 2011-06-07T19:07:00.350 に答える