2

さまざまな Web サービスから大量のデータ (数百万回の呼び出しと考えてください) をクロールするコンソール/デスクトップ アプリケーションがあります。任意の時点で、これらの呼び出しを実行し、データを MySql データベースに集約する約 10 のスレッドがあります。すべてのシードもデータベースに保存されます。

その進捗状況を報告する最良の方法は何でしょうか? 進行状況とは、次のことを意味します。

  • すでに実行された呼び出しの数
  • 失敗した数
  • 平均通話時間は?
  • 残りいくら

それらすべてを何らかの方法でログに記録し、ログを追跡してデータを取得することを考えました。もう 1 つのアイデアは、何らかの形式の UI がデータを読み取って集計を表示できる、常に開いている TCP エンドポイントに何らかの出力を提供することでした。どちらの方法も大まかで複雑すぎるように見えます。

他のアイデアはありますか?

4

2 に答える 2

1

これはコンソール アプリケーションであるため、 を使用するWritelineだけで、アプリケーションに重要なものをコンソールに吐き出させるだけです。

PDFをSQL ServerデータベースからPDF形式にエクスポートするために作成したアプリケーションで同様のことをしました

さまざまな方法で行うことができます。レコードとそのサイズを数えている場合は、ある種の集計を実行して、多数のレコードごとに合計を表示することができます..


また、テキスト ファイルに書き出すことで、すべての PDF と、それらが送信されたケース番号などを追跡できました。その情報は、上記のリンクされた質問に対する回答にあります。

また、統計を使用してテキスト ファイルに頻繁に書き出すこともできます。

Eric J.が言及しているロガーは、おそらく実装が少し簡単になり、ツールボックスの優れたツールになるでしょう。

これらのオプションは、特定のニーズに応じて有効です。

于 2013-10-29T01:09:03.910 に答える