AWS Batch Multiple Compute Environments Not Working

2

I have the following setup for an AWS Batch Job Queue

    const queue = new batch.JobQueue(this, 'Ec2JobQueue', {
      computeEnvironments: [
        {
          computeEnvironment: ec2SpotEnvironment,
          order: 1,
        },
        {
          computeEnvironment: ec2OnDemandEnvironment,
          order: 2,
        },
      ],
    })

The intent being that when i submit a job it will try to provision an ec2 instance by trying the spot market but if that is not possible it will fallback to using on demand.

What i have observed is that it never uses the on demand compute environment. If there are jobs in the queue and I have hit the service quota limit for number of spot instances I can provision then those jobs will just sit in the queue until a spot instance becomes available. I've confirmed that both compute environments are healthy/valid/enabled in the console.

What should be my expectation around when the second compute environment is used? Ideally there would be an additional 'timeout' setting on a compute environment to facilitate something along the lines of (try spot for for 15mins if no luck, try the next compute environment).

質問済み 2年前337ビュー
1回答
1

also interested in this

qxmips
回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ