一个代理插槽是并行处理的单位。一个插槽一次只能运行一个任务。你拥有的插槽数量决定了能同时进行的任务数。
人们最初常有的误解
插槽并不会加快任务的执行速度。
任务的耗时由变更规模以及构建和测试套件的运行时间决定。增加第二个插槽并不会将耗时减半,它只能让第二个 任务与第一个任务同时运行。
如果某个任务执行缓慢,需检查测试套件和变更范围;如果队列较长,则需考虑插槽数量。
工作队列的运行机制
你创建的任务会进入PENDING并等待空闲的插槽。一旦有插槽可用,任务便会移至IN_PROGRESS.
若只有一个插槽且需处理五个任务,任务会按顺序逐一执行;若有五个插槽且任务相互独立,五个任务可同时运行——前提是这些任务确实互不依赖。若计划的各个阶段相互依赖,无论有多少空闲插槽,任务仍会串行执行,因为第三步必须等第二步完成后才能启动。
优先级
任务的优先级范围从P0(最高)到P3。当等待执行的任务数多于插槽数时,优先级便决定了任务的执行顺序。
优先级仅用于排序队列,并不能增加处理能力——若所有任务均为P0,则不会有任何任务被执行。
插槽的成本构成
插槽是定价模型的核心要素:
- 免费版——提供一个低优先级插槽,支持一个项目,每月代理运行时长受限,且单个任务的运行时长也有上限。
- 专业版——包含一个标准插槽;额外插槽按每月每个插槽计费。支持无限数量的项目和成员。
- 企业版——需签订插槽使用合同并承诺最低用量,同时享有优先处理权。在私有预览.
模型使用情况与插槽分开计费——详见模型积分。插槽为你提供运行工作的空间;工作所消耗的令牌则属于另一项计费范畴。
合理规划你的处理能力
先从一个插槽开始,观察一周内的队列情况。
当任务持续积压在PENDING中等待时,再添加插槽。切勿因单个任务执行缓慢就添加插槽——那是另一类问题,需采取不同的解决办法。
代理运行时长
在设有代理运行时长配额的套餐中,计时从代理实际处理任务时开始,而非任务处于PENDING状态之时。排队中的任务不占用配额;只有正在运行的任务才会消耗配额。