Ограничить число количество одновременных задач Fargate для данного определения задачи.

У меня есть заданное определение задачи AWS fargate. do_something вызывает подчиненную службу, которая не поддерживает более 4 одновременных потребителей. Поэтому я должен найти способ ограничить количество одновременных задач do_something fargate.

Есть ли встроенный способ сделать это? Я не смог найти его в документации.


person mabead    schedule 13.12.2018    source источник


Ответы (1)


В политике масштабирования вы можете установить максимальное количество задач равным 4.

Здесь вы можете увидеть изображение настройки. введите здесь описание изображения

person DominikHelps    schedule 19.12.2018
comment
Если я правильно понял, что вы ответили правильно, эта опция доступна, когда вы определяете Службу из определения задачи. Как описано здесь stackoverflow.com/a/42961623/2679757, служба — это то, что всегда работает. В моем случае я хочу запустить задачу, которая запускается по запросу, но ограничивает количество одновременных выполнения задачи. Например, если я хочу ограничить выполнение 2 задач одновременно и запускаю 4 задачи, я хочу, чтобы 2 задачи запускались прямо сейчас, а 2 другие задачи ставились в очередь AWS и запускались по завершении предыдущих задач. Возможно ли это с помощью задачи? - person mabead; 19.12.2018
comment
Если вы используете «Выполнить задачу» без службы, вам нужно отслеживать, сколько задач вы создаете сами. В вашем случае я использую AWS SQS в качестве очереди задач, а затем создаю лямбда-выражения для работы над задачами и удаляю их из очереди. В Lambda есть функция, которую вы ищете: управление параллелизмом. Вы можете ограничить одновременные выполнения лямбд - person DominikHelps; 19.12.2018
comment
Но тогда ваша лямбда должна работать столько же, сколько и ваша задача fargate, чтобы это работало. Причина, по которой я рассматриваю Fargate, заключается именно в том, чтобы преодолеть 15-минутное ограничение лямбда-выражений. Думаю, тогда мне нужно будет использовать пошаговые функции :( - person mabead; 19.12.2018
comment
Да, 15 минут для лямбды очень долго. Можно ли разделить работу на более мелкие части? Пошаговая функция тоже звучит хорошо - person DominikHelps; 19.12.2018
comment
Моя задача представляет собой цикл for, где каждая итерация занимает несколько минут. Кодирование цикла for в JSON (язык определения пошаговой функции) гораздо менее интуитивно понятно, чем его кодирование в обычном коде. Спасибо за все ваши предложения. - person mabead; 19.12.2018