7    ジョブとドキュメントの管理

ジョブとドキュメントをプリント・システムで適切に管理できるように,それらのさまざまな側面を考慮する必要があります。一般に,次の 3 種類の属性が,ジョブとドキュメントの管理の異なる側面を反映しています。

7.1    ジョブとドキュメントのオブジェクト処理の実行

ユーザが通常実行するジョブとドキュメントの処理には,次のものが含まれます。

ジョブの印刷
指定した時刻より後でのジョブの印刷
ジョブとドキュメントの属性のリスト
ジョブ・キューのリスト
ジョブとドキュメントの属性の変更
ジョブの消去,削除,取消し
ジョブの再実行
ジョブの昇格 (キューの先頭への移動)
ジョブの一時停止と再開
ジョブの保留
ジョブの保持
ジョブの破棄
メッセージとイベント通知の設定

ジョブとドキュメントの違いを理解することは非常に重要です。1 つのジョブには複数のドキュメントを含めることができ,それぞれのドキュメントに対して多くの異なる処理指示を含めることができます。

7.1.1    ジョブの印刷

印刷処理は,1 つ以上のファイルを印刷する要求から,ジョブ・オブジェクトとドキュメント・オブジェクトを作成します。スプーラはそれぞれのプリント要求に対してジョブ・オブジェクトを作成するとともに,単一のプリント要求の一部として,ユーザが指定する各ファイルに対して 1 つのドキュメント・オブジェクトを作成します。このため,ジョブ・オブジェクトには,1 つ以上のドキュメント・オブジェクトが含まれます。

それぞれのジョブに対して,スプーラは一意のジョブ識別子 (job-identifier) を割り当て,これは,ジョブの一時停止などのジョブ処理が実行されるときにジョブを特定するために使用されます。

プリント要求は pdpr コマンドを使用して作成されます。pdpr コマンドの構文は次のとおりです。

pdpr [-f file_name] [-n copies] [-N notification_method] [-p logical_printer_name] [-t job_name] [files ]

次に示すのは,pdpr コマンドを使用してプリント要求を実行する例です。

7.1.2    指定した時刻より後のジョブの印刷

プリント要求を実行し,そのジョブを指定した日付と時刻が来るまでは印刷しないように指定することができます。また,設定処理あるいは変更処理によって,ある時刻の後に印刷を指定することもできます。

印刷を大量のジョブの後の時刻に指定して,印刷量の少ない間に印刷できるようにすることもあります。

時刻と日付を指定するときには,次の構文を使用します。

dd:mm:yyyy:hh:mm:ss

ジョブの印刷時刻を設定すると,スプーラは次の処理を行います。

指定した印刷時刻が過ぎると,スプーラはジョブをスケジューリングし,current-job-state を処理待ち (pending) に変更します。

次の例は,ジョブに対して印刷時刻を指定する方法を示しています。

7.1.3    ジョブの再実行

同一のスプーラ上の異なるプリンタに対して,実行済みのプリント・ジョブを再実行することができます。

ジョブが次のいずれかの状態の場合にのみ,再実行することができます。

ジョブの状態が completed (完了),processing (処理中),printing (印刷中) のいずれかの場合は,ジョブを再実行することはできません。

ジョブを再実行するには,pdresubmit コマンドを使用します。このコマンドの構文は次のとおりです。

pdresubmit [-c job] [logical_printer_name=name] [object_instance]

object-instance は,ジョブ識別子またはキュー名です。個々のジョブを再実行することも,キュー内のすべてのジョブを別の論理プリンタに対して再実行することもできます。

次に示すのは,pdresubmit コマンドを使用してジョブを再実行する例です。

この例では,両方のプリンタが同一のスプーラに関連付けられている必要があります。

pdresubmit コマンドは非同期であることに注意してください。このコマンドは,サーバが処理を完了する前にプロンプトを返します。

7.1.4    ジョブの昇格

ジョブの昇格とは,ジョブをキューの先頭に移動することです。ジョブの昇格によって,そのジョブは,実行時刻に関係なく,昇格されていないジョブの前に印刷されます。1 回に昇格できるのは 1 つのジョブだけですが,同一のキューで複数のジョブを昇格すると最後に昇格されたジョブが,最初に印刷されます。

現在印刷中のジョブは,昇格されたジョブを含むキューに関連付けられたそれぞれの物理プリンタで,正常に印刷を続行します。スプーラは,現在のジョブの印刷を完了し,別のジョブを扱うことのできる最初の物理プリンタに,最後に昇格されたジョブを割り当てます。

current-job-statepending (処理待ち) または held (保留) のジョブは昇格することができます。 キューの状態は,ready (処理可能) または paused (一時停止) のいずれかである必要があります。

管理者とオペレータは pdpromote コマンドを使用してジョブを昇格できます。エンド・ユーザはジョブを昇格できません。pdpromote コマンドのフォーマットは次のとおりです。

pdpromote [-m message_text] [server_name:job_id]

次に示すのは pdpromote コマンドの使用例です。

7.1.5    ジョブの一時停止

ジョブを一時停止すると,ジョブは印刷のために物理プリンタに渡されません。キュー内の他のジョブは一時停止されたジョブを残して渡されます。

処理待ち (pending) または保留 (held) 状態のジョブだけが一時停止できます。つまり,印刷が始まったジョブは一時停止できません。ジョブを一時停止するときには,次の点に注意してください。

pdpause コマンドを使用してジョブを一時停止します。このコマンドのフォーマットは次のとおりです。

pdpause [-c job] [-m message_text] [server_name:job_id]

次に示すのは,pdpause コマンドを使用してジョブを一時停止する例です。

7.1.6    ジョブの再開

一時停止されたジョブは pdresume コマンドを使用して再開できます。一時停止されたジョブを再開すると,そのジョブのスケジューリングや印刷ができるようになります。

pdresume コマンドのフォーマットは次のとおりです。

pdresume [-c class_name] [-m message_text] [job_id]

次に示すのは,pdresume コマンドを使用してジョブを再開する例です。

7.1.7    ジョブの保留

スプーラが印刷のためにジョブをスケジューリングしないように,ジョブを保留にすることができます。job-hold 属性を true に設定することで,ジョブを保留にできます。

ジョブを保留にすると,スプーラは,次の処理を行います。

ジョブの保留は,次のイベントのいずれか 1 つが発生しない限り,ジョブが無期限に保留状態になることを除けば,ジョブの一時停止と似ています。

次に示すのは,ジョブを保留状態にする例です。

7.1.8    ジョブの保持

ジョブの印刷が完了した後に,指定した期間だけ,スプーラにジョブを保持させることができます。保持されたジョブは,再実行またはチェックのために利用することができます。

ジョブを保持すると,スプーラは次の処理を行います。

ジョブは,次のいずれかのイベントが起こるまで,保持 (retained) 状態のままになります。

pdmodpdsetpdrm コマンドのいずれかを使用して,ジョブを保持することができます。エンド・ユーザは pdmod コマンドと pdrm コマンドを使用して,所有するジョブに保持期間を設定できます。管理者とオペレータは,pdset コマンドを使用して任意のジョブの保持期間を設定できます。

次に示すのは,これらのコマンドを使用してジョブを保持する例です。

pdrm コマンドを使用すると,ジョブが再実行のために保持されていても,ジョブが取り消されて,キューから消去されることに注意してください。

7.1.9    ジョブの破棄

ジョブが特定の時刻までに印刷されない場合,スプーラがそのジョブを削除するように指定できます。属性 job-discard-time で時刻を指定します。

ジョブ破棄時刻になったときに,スプーラはジョブが印刷されたかどうかや,ジョブの状態に関わらず,ジョブを削除します。

ジョブ破棄時間を指定するために,エンド・ユーザは pdmod コマンドを使用することができ,また,管理者とオペレータは pdset コマンドを使用することができます。次に,ジョブ破棄時刻を設定する例を示します。