LEADTOOLSライブラリ

フレームを表示

ジョブプロセッサーデータベースは、ジョブプロセッサーでジョブに関連した任意の情報を保存する役割を果たします。LEADTOOLS分散コンピューティング(ジョブプロセッサー)SDKはデータベースですべての通信を処理します、しかし、場合によっては、アプリケーションでジョブプロセッサーのJobTableともう一つのテーブルの関係を作成したいかもしれません。列定義と使用のための以下のテーブルを参照してください

列名 データ型。 使用法
cGuid uniqueidentifier ジョブの一意なID。これは、テーブルの基本キーです。
cStatus nvarchar (50) ジョブのステータス。この値は、JobStatus列挙法の1つであるでしょう。
cWorker nvarchar (50) 持続するワーカーマシンの名前は、勤務中に機能しました。
cAttempts int このジョブが試みられた時の数構成ファイルによって、ジョブが試みられなければならない回数を指定することができます。詳細については、「LEADTOOLSジョブプロセッサー設定」を参照してください。
cPercentage int UpdatePercentageメソッドによって報告されるジョブの現在の進捗。
cAddedTime 日付回の ジョブを追加した日付と時刻。ジョブを追加するために、AddJobメソッドを呼び出します。
cLastStartedTime 日付回の このジョブに対して開始された最後の日付と時刻の処理。
cLastUpdatedTime 日付回の cPercentageまたはcStatus列が更新された最後の日付と時刻。
cCompletedTime 日付回の ジョブの完了に成功した日付と時刻。完了されるジョブを更新するために、ワーカーアセンブリからSetCompletedStatusメソッドを呼び出します。
cFailedTime 日付回の ジョブが失敗とマーク付けされた日付と時刻。失敗したジョブを更新するために、ワーカーアセンブリからSetFailureStatusメソッドを呼び出します。
cFailedErrorID int ジョブの処理に失敗したときのエラーのcode。失敗したジョブを更新するために、ワーカーアセンブリからSetFailureStatusメソッドを呼び出します。
cFailedMessage nvarchar(MAX) ジョブの処理に失敗したときのエラーのメッセージ。失敗したジョブを更新するために、ワーカーアセンブリからSetFailureStatusメソッドを呼び出します。
cMustAbort ビット ジョブが中止されなければならないかどうか示します。AbortJobをクライアントからのメソッドとジョブを中止するワーカーアセンブリからのSetAbortedStatusメソッドと呼びます。詳細については、「AbortJob」を参照してください。
cAbortReason nvarchar(MAX) ジョブが中止されたと結論します。AbortJobをクライアントからのメソッドとジョブを中止するワーカーアセンブリからのSetAbortedStatusメソッドと呼びます。詳細については、「AbortJob」を参照してください。
cUserToken nvarchar(MAX) 任意の情報は、ジョブ(電子メールアドレス、ユーザー名、ユーザーIDなど)を提出したユーザーに関するものでした。データベースアーキテクチャがユーザ情報のために別々のテーブルを格納するならば、この列はもう一つのテーブルからユーザーの情報でユーザーのジョブを連結するのに用いられることができます。
cJobMetadata nvarchar(MAX) メタデータは、ジョブが処理されなければならない方法に関するものでした。たとえば、ジョブプロセッサーの目的が1つの形式からもう一つにファイルを変換することになっているならば、メタデータがターゲット形式、ソースファイルパス、ターゲットファイルパスその他を格納することができて、メタデータは合う構造化任意の習慣でありえます、しかし、それがstringとしてジョブプロセッサーデータベースで保存されるため、stringにシリアル化されることができる構造体またはクラスを使用することは最善です。
cWorkerMetadata nvarchar(MAX) ワーカーによって報告されるジョブについて任意の過多情報量を格納しているメタデータ。たとえば、ジョブプロセッサーの目的が1つの形式からもう一つに大きなファイルを変換することであるならば、ユーザーに全体的なパーセンテージより詳細な進捗を提供したいかもしれません。このメタデータ列は、現在のページを指定するか、変換される(たとえば25の1ページ)ことをフレーム化するのに用いられることができました。
cJobType nvarchar (100) 現在のジョブのための『JobType』。ジョブタイプ上で詳細は下記の『複数のジョブタイプを使用して』セクションを参照します。

複数のジョブタイプを使用して

各々のWindowsサービスは、多くのジョブタイプを処理する設定でありえます。Windowsサービスの数への制限が、単一機でインストールされることができるLEADTOOLS分散コンピューティングフレームワークからありません。一般的なシナリオでは、ジョブ型は、ジョブプロセッサーが処理するように設計されている一意なタスクごとに構成されます。

たとえば、OCRを実行するには1つのジョブタイプを、マルチメディアファイルを変換するには別のジョブタイプをセットアップできます。1つのオプションは、両方の種類のジョブを処理することができる単一のワーカーアセンブリを作成することであるでしょう。アセンブリは単にジョブのジョブ型を識別して、それに応じてそれを処理します。もう一つのオプションは、各タイプのジョブのためにワーカーアセンブリを作成することであるでしょう。各々のウィンドウサービスは、単一のワーカーアセンブリをロードするように構成されることができるだけです。しかし、複数のワーカーアセンブリを使うほうを選ぶならば、各タイプのジョブのためにウィンドウサービスを準備する必要があるでしょう。選択する構成に関係なく、すべてのウィンドウサービスは同じ中央サーバとデータベースを共有することができます。

例えば、ジョブプロセッサーが1つの形式からもう一つにファイルを変換している場合を見なします、しかし、ファイルは遠隔地に位置して、最初にダウンロードされなければなりません。1つのソリューションは、最初にファイルをダウンロードして、それからそれを変換するシングルジョブ型(シングルパスのすべて)を構成することです。選択肢は、別々のジョブタイプにこれらの2つのタスクを分割することであるでしょう。これらのタスクを分割することの長所は、そうすることが独立して制御されるために各々のタスクを許可するということです。たとえば、おそらく、4つのファイルだけにいつでもダウンロードされて欲しいが、一度に8つのファイルを変換したいです。ワークフローは、以下のように見えます:

  1. クライアントは、新しい「ダウンロード」ジョブを追加します。

  2. ジョブは、「ダウンロード」ジョブを受け取るように構成されるワーカーによって拾われます。

  3. ワーカーアセンブリがファイルをダウンロードしたあと、それはResetJobメソッドを新しいものを指定して呼び出して、ジョブを「変換し」ます。ResetJobを呼び出すことはJobStatus.Newにジョブのステータスも更新します。そして、それが再び処理の準備ができていることを示します。

  4. ジョブは、「コンバート」ジョブを受け取るように構成されるワーカーによって拾われます。

  5. ジョブは正常に変換されます、そして、そのステータスはJobStatus.Completedに更新されます。

別個のジョブタイプを使用すると、Workers.xmlで各ジョブタイプを定義し、各ジョブタイプのウィンドウサービスを構成することによりワークフローを作成できます。Workers.xml構成ファイルと特定のジョブタイプのためにウィンドウサービスを構成することの詳細については、「LEADTOOLSジョブプロセッサー設定」を参照してください。ワーカーアセンブリ作成に関する詳細は、「ジョブプロセッサワーカーアセンブリの作成」を参照してください。

参照

LEADTOOLS分散コンピューティング(ジョブプロセッサー)SDKによるプログラミング
LEADTOOLSジョブプロセッサー設定
ジョブプロセッサワーカーアセンブリの作成
LEADTOOLS分散コンピューティング(JobProcessor)アプリケーションを展開すること