作业执行和排队

关于 Schematics 作业队列

当用户运行 Schematics 操作时,作业将在共享服务队列上排队。 作业将保留在队列中,直到目标区域中的工作程序可用于执行作业为止。 调度策略应用于作业,以确保服务对所有用户都公平可用。

作业队列的功能

根据用户提交的作业数以及运行作业的时间,使用者可能会在执行作业之前迂到延迟。 作业队列确保 Schematics 对其所有用户公平可用,而不考虑用户生成的负载。

示例

如果 user-1 有 20 个作业在队列中等待,那么 user-2 将提交新作业。User-2 作业等待到队列中,先于 user-1's 20 个作业使 Schematics 对 user-1 和 user-2 都公平可用。

作业何时进入暂挂队列?

以下是作业进入暂挂队列时的任务。

  • 您的作业需要更多时间才能完成。 请检查是否指定了足够的时间来执行作业。
  • 作业运行所使用的映像不存在。 请检查提供的映像详细信息是否存在以及是否指定了名称。
  • 未指定作业所需的环境变量参数。 检查是否定义了环境变量。
  • 传递到作业的命令或参数无效。 请检查指定的参数标志是否正确。

作业超时

工作空间上的 Terraform 作业 (例如,计划,应用和销毁) 通常不应超过几个小时来供应或取消供应资源。 如果要同时供应许多资源 (这需要许多小时),那么建议将这些资源拆分为不同的工作空间。Schematics 将作业的执行时间限制为 24 小时。 在 24 小时后,作业将终止,并且该作业将标记为 STOPPED,并且工作空间将显示 ACTIVE 或 INACTIVE。

在 24 hours 之后,将发送中断信号以停止作业执行。 为命令完成提供了宽限期 10 minutes。 如果在此时间内未完成,那么将发送终止信号并终止作业。 停止作业后将执行 Terraform 刷新,以确保收集状态文件和其他数据。

在作业中,将执行多个命令,例如 terraform init,terraform apply 和 terraform refresh。 如果作业在命令中超时,那么所有进一步的命令都只会使额外的 10 minutes 完成。 在 10 minutes 结束时,将终止每个命令。

例如,如果作业永远停留在 Terraform 应用上,那么当命令停止时,如果您运行刷新。 如果刷新也被卡住,那么在 15 minutes 之后,将执行终止。

Terraform local exec 和 remote exec 的时间限制为 30 minutes,如果超过此限制,那么将终止作业执行。