Как запланировать сценарий python на aws, используя любой серверный сервис - PullRequest
0 голосов
/ 26 февраля 2020

Текущий сценарий : Мы обрабатываем 40M записей с использованием некоторого кода java и загружаем их в виде csv-файлов в корзину s3.

Future : Мы хотим переместите этот код в AWS, для этого мы хотим иметь скрипт python для обработки записей и загрузки их в виде csv-файлов в корзину aws -s3. Можете ли вы предложить какой-либо серверный сервис, который может запустить скрипт и обработать его? Мы хотим избежать использования EC2 и размещения на сервере скрипта python. мы хотим сделать это как безсерверный сервис

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Для этого можно использовать AWS Fargate, его можно интегрировать с Lambda, учитывая, что максимальное время выполнения Lambda составляет 15 минут, поэтому вам следует использовать Fargate

подробнее https://serverless.com/blog/serverless-application-for-long-running-process-fargate-lambda/

Также вы можете использовать AWS Правило события , чтобы запланировать его

Решение Look всегда существует. Но есть хорошая практика и плохая практика.

Если я скажу вам, вы можете сделать это только с помощью AWS лямбда и AWS EventRule и SQS, как бы это звучало. Интересно?

Короче говоря, вы можете сделать это. Отследите время, потребляемое в лямбда-выражении, когда оно достигнет 14 минут, отправьте сообщение в SQS с указанием вашего обработанного номера строки, загрузите обработанный файл в s3 и выйдите. Используйте этот SQS для повторного запуска лямбды с некоторым удержанием сообщения в течение 30 секунд, чтобы снова вызвать ту же лямбду и начать с этого номера строки. После завершения обработки у вас будет несколько обработанных файлов в S3, используйте другую лямбду и SQS, чтобы объединить их в один. Это не плохая практика, но, на мой взгляд, менее хорошая, Happy?

0 голосов
/ 26 февраля 2020

Вы можете использовать Правило события Cloudwatch , чтобы вызывать на регулярной основе расписание, которое вы определили, и ваша лямбда-функция является ее целью. Вот учебник в AWS Документы о том, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...