Job Service Dashboard

Job service dashboard 是一个基于 Web 的界面,允许您查看和管理在 Harbor job service 中运行的作业。它可以通过 https://<harbor_url>/harbor/job-service-dashboard/ 访问。您可以使用该仪表板查看作业队列的状态、作业的计划以及 job service 池和 worker 的状态。您还可以使用它来停止待处理或正在运行的作业,或暂停或恢复 job service 队列。

查看 Job Service 队列状态

  1. 使用具有 Harbor 系统管理员权限的帐户登录到 Harbor Web 界面。
  2. 展开 管理 (Administration),然后选择 Job Service Dashboard

在 job service dashboard 中,您可以查看 job service 队列、job service 池和 job service worker 的状态。

Job service dashboard

下表描述了仪表板中显示的信息。

字段 描述 操作
队列中的待处理作业 Job service 队列是存储要执行作业的 FIFO 队列。总计 (Total) 显示队列类型的计数,以及前 2 个队列 全部停止 (Stop All):停止所有队列中的所有作业
计划 (Schedules) Job service 池是执行作业的 worker 池,显示计划的总计数并显示其状态 全部暂停 (Pause All):暂停所有正在运行的作业计划,全部恢复 (Resume All):恢复所有已暂停的作业计划
Worker Job service worker 是执行作业的 goroutine,它显示空闲/总 worker 数 释放全部 (Free All):停止正在运行的作业的执行以释放所有 worker

查看作业队列详细信息

在 job service dashboard 中,单击 作业队列 (Job Queues) 选项卡。

Job queues

作业队列 (Job Queues) 选项卡显示作业队列的详细信息。下表描述了 作业队列 (Job Queues) 选项卡中显示的信息。

字段 描述
作业类型 作业队列的名称。
待处理计数 队列中等待执行的作业数。
延迟 (Latency) 当前队列的等待时间,它指示队列中的任务已经等待了多久。
已暂停 作业队列的暂停状态。

每个作业队列的操作

  • 单击 停止 (Stop) 按钮以停止队列中的所有作业。它将从队列中删除所有作业,并将其状态标记为“已停止 (Stopped)”。
  • 单击 暂停 (Pause) 按钮以暂停作业队列。
  • 单击 恢复 (Resume) 按钮以恢复作业队列。

作业类型

类型名称 描述
GARBAGE_COLLECTION 用于垃圾回收的作业队列。
IMAGE_SCAN 用于镜像扫描的作业队列。
P2P_PREHEAT 用于 p2p preheat 相关任务的作业队列。
PURGE_AUDIT 用于清除审计日志的作业队列。
REPLICATION 用于镜像复制的作业队列。
RETENTION 用于标签保留的作业队列。
SCAN_DATA_EXPORT 用于导出 CVE 数据的作业队列。
SCHEDULER 用于所有定期任务的作业队列,如果暂停,则不会触发所有定期计划。
SLACK 用于发送 slack 消息的作业队列。
SYSTEM_ARTIFACT_CLEANUP 用于清理系统构件的作业队列,由导出 CVE 功能使用。
WEBHOOK 用于 Webhook 任务的作业队列。

注意 (NOTE) 暂停 (Pause)恢复 (Resume) 操作仅停止 worker 消费作业队列中的作业,它不会停止作业任务提交,也不会更改作业队列中的作业状态。

查看计划详细信息

在 job service dashboard 中,单击 计划 (Schedules) 选项卡。

Schedules

计划 (Schedules) 选项卡显示作业计划的详细信息。下表描述了计划选项卡中显示的信息。

字段 描述
ID 作业计划的 ID。
供应商类型 作业服务计划的供应商类型。
供应商 ID 作业计划的供应商 ID。如果没有供应商 ID,则为空。
Cron 计划的 cron 表达式。
创建时间 作业计划的创建时间。

查看 Worker 详细信息

在 job service dashboard 中,单击 Worker (Workers) 选项卡。

Workers

worker 池表显示 worker 池的详细信息。下表描述了 Worker 选项卡中显示的信息。当您单击表中的 worker 池时,此 worker 池的 worker 将显示在 worker 表中。

字段 描述
Worker 池 ID worker 池的 ID。
PID worker 池的进程。
启动于 (Start At) worker 池的启动时间。
心跳时间 (Heartbeat At) worker 池的心跳时间。
并发 (Concurrency) worker 池的并发数。

worker 表显示 worker 的详细信息。下表描述了 Worker 选项卡中显示的信息。

字段 描述
Worker ID worker 的 ID。
作业名称 worker 当前正在执行的作业的名称。
作业 ID worker 当前正在执行的作业的 ID。
启动于 (Started At) worker 当前正在执行的作业的启动时间。
签入时间 (Checked In At) worker 当前正在执行的作业的签入时间。
日志 (Logs) worker 当前正在执行的作业的日志。

worker 的操作

– 单击 释放 (Free) 按钮以停止 worker 当前正在执行的作业的执行,从而释放 worker。停止操作需要几分钟才能完成,具体取决于作业类型。 – 单击 日志 (Logs) 列中的链接以查看 worker 当前正在执行的作业的日志。

撤回执行的步骤

由于一个执行可能包含一个或多个任务,其中一些任务可能处于待处理状态,而另一些任务可能处于正在运行状态。停止正在运行的任务可能不会停止整个执行。您可以使用以下步骤停止整个执行。

  1. 使用具有 Harbor 系统管理员权限的帐户转到 Harbor job service dashboard。
  2. 单击 作业队列 (Job Queues) 选项卡,然后单击 停止 (Stop) 按钮以停止队列中的所有作业。
  3. 单击 Worker (Workers) 选项卡,然后单击 释放 (Free) 按钮以停止 worker 当前正在处理的作业的执行,从而释放 worker。
  4. 等待并检查执行状态变为 已停止 (Stopped)

有时,您不想从作业队列中删除此计划任务。要让 worker 处理其他类型的作业,您可以暂停/恢复作业队列。

  1. 使用具有 Harbor 系统管理员权限的帐户转到 Harbor job service dashboard。
  2. 单击 作业队列 (Job Queues) 选项卡,然后单击 暂停 (Pause) 按钮以暂停队列中的所有作业。
  3. 等待 job service worker 处理其他类型的作业。
  4. 单击 恢复 (Resume) 按钮以恢复作业队列。