AWS Batch作业在“依赖于”时停留在PENDING中

时间:2018-03-07 10:04:49

标签: amazon-web-services aws-batch

我有一个链接 AWS Batch 作业的问题。

  • 有3个计算环境CE_ACE_BCE_C)并且他们关联了一个作业队列每个(JQ_AJQ_BJQ_C)。

  • 有6个职位定义JD_1JD_2,...,JD_6)。

  • <jqce>-<jd>-<name>成为在作业队列(或计算环境)<jqce>上启动的作业,并使用作业定义<jd>。示例:A-1-aC-6-z

  • 我想按顺序执行大约20个作业(使用不同的环境变量启动):A-1-aA-1-bB-2-cA-3-d,{{1} },A-3-e,...

  • 对于每个作业,我指定对以前作业的依赖关系: A-3-f中的params.dependsOn = [{ "jobId": "xxxxx-xxxx-xxxx-xxxxxx"}]

  • 在等待几分钟进行资源分配后,前两个作业Batch.submitJob(params)A-1-a成功执行。

  • 在等待计算环境A-1-b几分钟后,第三个作业B-2-c也成功执行。

  • 同时,计算环境CE_B已关闭,因为没有作业。

这就是问题:

  • 我预计此时CE_A会下降,CE_B会上升。 CE_A没有上升。

  • CE_A永远不会被执行,16小时后它仍处于A-3-d状态。

    • PENDING没问题,它的依赖关系很久以前就结束了。
    • 没有dependsOn批处理运行正常,使用相同的环境变量和配置。

问题

  • 您是否在使用dependsOnAWS Batch
  • 时遇到过类似的问题
  • 是否可以链接来自不同作业队列的批次?
  • 是否可以从不同的计算环境中链接批次?
  • dependsOn对你好吗?我似乎无需设置params.dependsOn = [{ "jobId": "xxx-xxx-xxx-xxx" }]属性see array jobs;

1 个答案:

答案 0 :(得分:2)

  

params.dependsOn = [{“jobId”:“xxx-xxx-xxx-xxx”}]对你好吗?看来我不必设置type属性,参见array jobs;

是,仅在将其定义为阵列作业时才需要输入。您提供的JobID是您提交特定职位时返回的内容吗?

  

是否可以链接来自不同作业队列的批次?   是否可以从不同的计算环境中链接批次?   你应该能够做到,但我从来没有这样做过。

     

同时,计算环境CE_A因为没有作业而被关闭。

所以CE_A已经运行并且已经运行了A-1-a,A-1-b?

我记得AWS每10分钟检查某些状态,而且人们遇到系统似乎陷入困境的情况。

您可以将CE_A设置为始终至少具有1个CPU,这样它就不会消失或变得难以获得版本。

您可以简单地进行测试吗?更短的行动,减少队列等

考虑在Batch上检查AWS论坛。那里活动不多但值得额外一双眼睛。