You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Batch提交作业报错:含schedulingPriority的作业需指定公平共享队列

AWS Batch 作业提交报错解决:Job with shareIdentifier or schedulingPriority can only be submitted to job queue with fair share scheduling policy

问题核心原因

你的作业定义中配置了schedulingPriority: 1,而AWS Batch的规则是:只要作业(或作业定义)包含schedulingPriority或shareIdentifier字段,就必须提交给已关联公平共享调度策略(Fair Share Scheduling Policy)的作业队列。你在提交命令中添加--scheduling-policy的方式是错误的——调度策略是绑定到队列上的,而非在提交作业时临时指定。

解决方案

根据你的业务需求选择以下两种方案之一:

方案1:移除作业定义中的优先级配置(无需公平调度场景)

如果不需要基于优先级的调度逻辑,直接删除作业定义里的schedulingPriority字段即可:

  1. 编辑你的作业定义JSON文件,删除"schedulingPriority": 1这一行
  2. 注册新的作业定义版本:
aws batch register-job-definition --cli-input-json file://your-updated-job-def.json
  1. 使用新版本提交作业:
aws batch submit-job --job-name test-local-write-2 --job-definition learning-job-definition:3 --job-queue learning-queue

方案2:为队列关联公平共享调度策略(需要优先级调度场景)

如果需要保留作业优先级配置,必须确保目标队列已绑定公平共享调度策略:

  1. 确认已创建名为fair-share的调度策略(若未创建,执行以下命令):
aws batch create-scheduling-policy --name fair-share --fair-share-policy '{"shareDecaySeconds": 3600, "computeReservation": 0, "shareDistribution": []}'
  1. 更新作业队列,关联该调度策略:
aws batch update-job-queue --job-queue learning-queue --scheduling-policy-arn arn:aws:batch:us-east-1:0xxxxxxxxxx5:scheduling-policy/fair-share
  1. 提交作业(无需在命令中指定--scheduling-policy):
aws batch submit-job --job-name test-local-write-2 --job-definition learning-job-definition --job-queue learning-queue

补充说明

  • schedulingPriority:仅在公平共享调度模式下生效,用于在同一共享组内调整作业的调度优先级,数值越高优先级越高
  • shareIdentifier:用于将作业分配到指定共享组,实现不同组之间的资源公平分配
  • 这两个字段的使用前提是作业队列已关联公平共享调度策略,否则会触发你遇到的报错

内容的提问来源于stack exchange,提问作者Aravindan vaithialingam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 04:46:17