Должен ли я обрабатывать задание в пакетном режиме на aws lambda?

#amazon-web-services #aws-lambda

#amazon-web-services #aws-lambda

Вопрос:

Я не уверен, правильно ли я работаю с aws lambda.

У меня 10 000 электронных писем в виде открытого текста, и мне нужно создать экран каждого электронного письма с помощью Google chrome puppeteer.

Лучше создать 10 000 заданий на lambda? Почему / почему нет?

Лучше ли создавать одноранговое задание для одной задачи? Почему / почему нет?

Лучше создавать одно задание на 100 электронных писем? Почему / почему нет?

Моя проблема в том, что запуск lambda ограничен 15 минутами, за 15 минут я не могу обработать все электронные письма, мне нужно, например, 2 часа.

Спасибо за любую подсказку.

Комментарии:

1. Ни один из них не лучше другого, это зависит от ваших ограничений. Создание 10 тыс. «заданий» может стоить немного дороже, но это будет сделано намного быстрее.

2. В моем случае меня не волнует время, я могу дождаться результатов.

3. Почему lambda? Почему вы не можете запустить задание в экземпляре EC2 или в задаче EC2? У них нет ограничений по времени.

Ответ №1:

Придерживаясь бессерверного, я бы пакетировал ваши запросы и отправлял их в SQS. Затем вы должны либо рассмотреть лямбда-триггер, либо лямбда-рабочий, который будет опрашивать этот SQS. Внедрение DLQ гарантирует, что все ваши задания будут сохранены в случае сбоя. Самое сложное при запуске lambda — это то, что он может уничтожить службу, работающую ниже по потоку …. наличие очереди с работником — хороший буфер.