2009-06-05 6 views
0

5秒ごとに入力ディレクトリをスキャンするアプリケーションがあります。ディレクトリにジョブ(つまりファイル)が置かれると、アプリケーションはそれを読み取り、処理して別のファイルを出力します。出力ディレクトリに格納します。アプリケーション設計 - デーモンw/WebPage FrontEnd

私の質問は、このアプリケーションにウェブベースのフロントエンドを配置したい場合は、処理が完了するまでどのように待つのですか?

  • ユーザーは、私はここに、Webページ上で何をしているのですか?......
  • ジョブが入力されたディレクトリ
  • に配置されたジョブを送信
  • 処理はどのようにして、ジョブが完了したことを知っています......
  • 出力ファイルが
  • を発生させる発生しますか?私が思いついた

2の解決策は以下の通りであった:Webページから

  • ポール出力ディレクトリx秒ごとに
  • 使用アヤックス出力ファイルが存在するかどうかをバックレポートをWebサービスやWebページをポーリングします

サーバーのデザインが改善されていますか?言い換えれば、TCPやNamed Pipesはどのようにこの状況で役立ちますか? (DCOMオブジェクトのためにリモーティングを使用することはできません)

+0

ウェブページのユーザーがファイルをアップロードして処理するのを待っていますか? – scottm

+0

「ジョブ」ファイルが作成された情報を送信しています。 –

答えて

0

私たちが過去に商用化した解決策は、基本的にはログ(通常はDB)に日付/時刻スタンプを付けて書き込みます。ウェブフロントエンドは最新のX個のエントリ「ファイルが見つかりませんでした」というメッセージが表示されていて、かなりうまくいきました。後でAJAX(20秒ごとにリロードされるタイマー)でアップグレードしました。

+0

私はそれが理にかなっていることを願っています。その2:30 amはここで、19時間アップしました:) –

+0

おかげでpzycoman、それは私が心に留めていた、おそらくこのアプリケーションのために働くでしょう。 –

0

名前付きパイプでWebクライアントを自動的にポーリングするのは簡単にはできませんが、サーバーが別のサーバーに通知できるようになります変換が完了したことを確認し、最終的にWebブラウザにメッセージをキューイングします。

数秒ごとにWebクライアントをポーリングして、ファイルプロセスが完了したかどうかを確認したり、Juggernautの「プッシュ」コマンドをページに出力したりできます。 Juggernautは、Flashを使用してWebブラウザー上のソケットを開いて、サーバーからJavaScriptを継続的に提供しています。それは、ファイルが完了したことをブラウザに警告するコマンドを送信し、リダイレクトを発行する責任があります。

関連する問題