Job Retention: When a job enters one of the three terminal job states:
'completed', 'canceled', or 'aborted', the IPP Printer object MAY "retain"
the job in a restartable condition for an implementation-defined time
period. This time period MAY be zero seconds and MAY depend on the terminal
job state. This phase is called Job Retention. While in the Job Retention
phase, the job's document data is retained and a client may restart the job
using the Restart-Job operation. If the IPP object supports the
"job-state-reasons" attribute and the Restart-Job operation, then it SHOULD
indicate that the job is restartable by adding the 'job-restartable' value
to the job's "job-state-reasons" attribute (see Section 4.3.8) during the
Job Retention phase.
Job History: After the Job Retention phase expires for a job, the Printer
object deletes the document data for the job and the job becomes part of the
Job History. The Printer object MAY also delete any number of the job
attributes. Since the job is no longer restartable, the Printer object MUST
remove the 'job-restartable' value from the job's "job-state-reasons"
attribute, if present.
Job Removal: After the job has remained in the Job History for an
implementation-defined time, such as when the number of jobs exceeds a fixed
number or after a fixed time period (which MAY be zero seconds), the IPP
Printer removes the job from the system.
Using the Get-Jobs operation and supplying the 'not-completed' value for the
"which-jobs" operation attribute, a client is requesting jobs in the Job Not
Completed phase. Using the Get-Jobs operation and supplying the 'completed'
value for the "which-jobs" operation attribute, a client is requesting jobs
in the Job Retention and Job History phases. Using the Get-Job-Attributes
operation, a client is requesting a job in any phase except Job Removal.
After Job Removal, the Get-Job-Attributes and Get-Jobs operations no longer
are capable of returning any information about a job.
Tom Hastings
(310) 333-6413