我在链接AWS Batch作业时遇到问题。
有 3 个计算环境(
CE_A
,CE_B
,CE_C
),每个环境关联一个作业队列(JQ_A
,JQ_B
,JQ_C
)。有 6 个作业定义(
JD_1
,JD_2
, ...,JD_6
)。假设
<jqce>-<jd>-<name>
是在作业队列(或计算环境)上启动的作业<jqce>
,并带有作业定义<jd>
。示例:A-1-a
,C-6-z
.我想按顺序执行大约 20 个作业(使用不同的环境变量启动):
A-1-a
,A-1-b
,B-2-c
,A-3-d
,A-3-e
,A-3-f
, ...对于每个作业,我使用以下命令指定对先前作业的依赖:
params.dependsOn = [{ "jobId": "xxxxx-xxxx-xxxx-xxxxxx"}]
inBatch.submitJob(params)
。前两个作业在等待几分钟资源分配后成功执行
A-1-a
。A-1-b
B-2-c
在等待 Compute 环境启动几分钟后,第三个作业也成功执行CE_B
。同时,由于没有作业出现,计算环境
CE_A
被关闭。
这是问题:
我预计在这一点上
CE_B
会下降和CE_A
上升。CE_A
没有上升。永远不会执行,
A-3-d
16 小时后它仍然处于PENDING
状态。- 没关系,它的
dependsOn
依赖关系很久以前就结束了。 - 没有
dependsOn
批处理运行正常,具有相同的环境变量和配置。
- 没关系,它的
问题
- 你遇到过类似的问题
AWS Batch
吗dependsOn
? - 是否可以链接来自不同作业队列的批次?
- 是否可以链接来自不同计算环境的批次?
- 你
params.dependsOn = [{ "jobId": "xxx-xxx-xxx-xxx" }]
觉得还可以吗?看来我不必设置type
属性见数组作业;