Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-7-11定义了打印机作业服务v2,这是UPnP打印机设备v2规范的核心组件,为提交到网络打印机的打印作业提供标准化管理。作业服务通过提供对单个打印作业的精细控制——作业进度跟踪、作业取消、作业优先级管理和详细的作业核算信息——补充了基本服务(作业提交)和状态服务(设备监控)。该服务由URN标识。
作业服务维护一个作业表,包含每个活动、排队和最近完成的作业条目。每个作业条目包括提交时分配的唯一JobID、作业当前状态(待处理、处理中、已完成、已取消、异常终止)、优先级级别、提交时间、处理时间、页数和客户端标识信息。该服务支持通过GetJobInfo查询单个作业详情,或通过GetJobList枚举所有作业。可以按状态或客户端ID过滤作业。
| 作业状态 | 描述 | 可取消? | 可暂停? | 转换至 |
|---|---|---|---|---|
| 待处理 | 已排队,尚未开始 | 是 | 不适用 | 处理中 |
| 处理中 | 正在打印 | 是 | 是 | 已完成、已暂停、已取消、异常终止 |
| 已暂停 | 打印已挂起 | 是 | 不适用 | 处理中、已取消 |
| 已完成 | 成功完成 | 否 | 否 | 终止状态 |
| 已取消 | 用户请求停止 | 否 | 否 | 终止状态 |
| 异常终止 | 因错误失败 | 否 | 否 | 终止状态 |
作业服务提供丰富的管理动作集。GetJobList根据状态、客户端ID或其他条件返回过滤后的作业条目列表。GetJobInfo返回指定作业的详细信息,包括当前状态、进度指标和作业属性。CancelJob请求终止指定作业,由服务负责优雅地中止打印流并重置打印机状态。PauseJob和ResumeJob允许临时挂起和继续活动作业——对于中断长打印任务以处理紧急作业特别有用。
作业事件通知是该服务的关键特性。通过UPnP事件通知机制,控制点可以订阅JobState事件通知,并在作业通过状态机推进时接收实时更新。服务还通过JobListChanged状态变量提供聚合事件通知,每当作业表被修改时触发。这使得打印管理控制台无需轮询即可维护打印机作业队列的同步视图。
作业核算是另一个重要功能。服务跟踪每个已完成作业的资源消耗:使用的纸张数量、碳粉覆盖率百分比、总处理时间和作业提交到完成的周期时间。此信息通过GetJobAccounting动作可访问,并可导出用于计费核算、部门成本分摊和环境可持续性报告。服务根据可配置的保留策略在作业表中保留已完成作业的核算记录。
健壮的错误处理对作业服务至关重要。当打印机在作业处理过程中遇到错误时,受影响的作业转换为”已暂停”状态而非立即变为”异常终止”,给操作员解决问题和恢复打印的机会。JobServiceErrorStatus变量提供与受影响作业ID相关的详细错误信息。服务为临时错误实现可配置的重试策略——例如,卡纸清除后自动重试作业而无需操作员干预。
服务还定义了与基本服务和状态服务的跨服务协调要求。当基本服务提交新作业时,它必须通知作业服务创建相应的作业条目。当状态服务检测到阻止打印的严重错误时,它必须与作业服务协调以暂停受影响的作业。UPnP设备规范要求所有三个服务从一致的状态机运行并共享相同的作业表,确保通过作业服务取消的作业立即反映在基本服务的作业跟踪和状态服务的队列大小报告中。
答:服务通过基本服务序列化作业提交并分配顺序的JobID。所有提交的作业进入作业表中的”待处理”状态。打印机按优先级顺序处理作业,相同优先级作业采用轮询调度。每次作业表修改后触发JobListChanged事件通知,保持所有订阅的控制点同步。
答:可以。每个作业条目包含标识提交作业的用户或应用程序的JobOriginatingUserID字段。这实现了按用户跟踪作业、执行使用配额和部门计费。该字段值通常在作业提交期间由基本服务基于认证的用户身份设置。
答:打印机应完成当前页面的渲染,然后丢弃所有剩余作业数据。如果该作业是唯一正在打印的作业,打印机转换回空闲状态。其他排队的作业不受影响。如果暂停的作业被取消,打印机丢弃任何部分渲染的页面并从作业表中完全移除该作业。
答:保留周期通过JobHistoryLimit状态变量配置。典型配置将已完成作业记录保留最短30分钟到最长数天。一旦达到保留限制,最早完成的作业条目自动从作业表中移除。