作业

跟踪、中止、重新运行、批准和删除由表单启动的作业


面向所有运行表单的用户:什么是作业、在哪里找到它,以及谁能看到它。


什么是作业

作业是表单的一次运行:表单一经提交,AnsibleForms 就会记录它及其状态、extravars 和输出。

每个作业保存:

  • 它运行的表单以及运行它的用户(包括用户类型,例如 local 或 ldap );
  • 它的作业类型和状态,以及开始时间和结束时间;
  • 它的输出、运行时使用的 extravars 和凭据,以及在表单中输入的字段值。

多步骤表单会为表单创建一个作业,并为每个步骤各创建一个作业。各步骤关联到主作业,并列在其下方。

同样的作业也可以通过 REST API 运行、跟踪和管理。


作业页面

标题栏中的作业链接会打开所有作业的列表,最新的排在最前( /jobs/all )。只有角色设置了 showJobs 角色选项的用户 才能看到该页面及其链接。

作业列表

左侧菜单按时间对作业进行分类,每个条目都显示作业数量;状态条目会按该状态筛选列表:

部分 菜单条目 显示内容
过去 成功 状态为 success 的作业
  失败 状态为 failed 的作业
  已中止 状态为 aborted 的作业
  已拒绝 状态为 rejected 的作业
  已放弃 状态为 abandoned 的作业
现在 运行中 状态为 running 的作业
  等待审批 状态为 approve 的作业;有作业等待时计数变为橙色
未来 已计划 调度页面(角色选项 allowScheduledJobs )
  已保存 保存的作业页面(角色选项 allowStoredJobs )

菜单中没有显示所有作业的条目:标题栏中的作业链接会显示所有作业,包括 warning 作业。

在表格上方的标题行上:

  • 搜索框保留那些显示的列中包含该文本(不区分大小写)的作业,或者其某个步骤的 ID 或目标包含该文本的作业;
  • 删除(带有已勾选作业的数量)会一起删除第一列中勾选的作业;
  • 列用于显示或隐藏 id 、 form 、 job type 、 status 、 start time 、 end time 、 duration 和 user 列; 正在运行的作业的持续时间会不断增加;
  • 刷新会重新加载列表。

列表加载最新的作业,数量由 JOBS_LIST_SIZE 设置决定 (设置 > 系统 > 常规,作业选项卡,默认 1000 );其分页、搜索和筛选都只覆盖这些作业。

每一列都可以排序,并有自己的筛选字段。多步骤作业在其 form 前面有一个箭头,可展开 其各个步骤;点击行的其余部分会打开该作业。

标题栏中的铃铛统计等待您审批的作业数量,并打开等待审批列表。对于能看到 运行器的用户,它还会统计等待批准的运行器,即请求加入的 RTE, 当只有运行器在等待时,会打开连接 > 运行器。两者都在等待时,它会打开一个菜单,包含等待批准的作业和 等待批准的运行器,每项都带有其数量。


谁能看到哪些作业

用户能看到的作业取决于其角色:

用户 能看到
管理员( admin 角色) 所有作业
角色选项 showAllJobLogs 所有作业
角色选项 manageAllJobs (从 7.3.0 起) 所有作业,并且可以中止、删除和重新运行它们
其他任何用户 自己的作业,以及等待审批且审批指定了其某个角色的作业

在 7.2 及之前,每个用户都可以打开任何等待审批的作业,包括其 extravars 和输出;从 7.3.0 起,只有其所有者和 审批人才能打开。能看到作业并不意味着可以对它执行所有操作:中止、删除和重新运行其他用户的作业需要管理员或 manageAllJobs ,而 showAllJobLogs 只用于显示作业。删除还需要 allowJobDeletion ,重新运行还需要 allowJobRelaunch 。


本节内容

每个主题都有单独的页面:

页面 涵盖内容
状态和类型 作业可能具有的每种状态,以及作业的种类
跟踪作业 实时输出、extravars、筛选和下载
作业操作 运行、中止、重新运行、批准或拒绝以及删除作业
调度 稍后运行表单或按 cron 调度运行,以及管理所有调度
保存的作业 保存表单的数据,以便以后再次加载
清理 因重启而中断的作业,以及已结束作业的保留时长