Запуск пакетных python процессов в Google Cloud - PullRequest
0 голосов
/ 10 марта 2020

У меня есть пара Python скриптов, которые я хотел бы запланировать запускать раз в месяц в облаке Google. Сценарии в основном запускают задания DLP, извлекают информацию каталога данных в файл в GCS. Эти периодические рабочие нагрузки вряд ли будут работать в течение 30 минут. И поэтому мне не нужно использовать такие службы, как GKE, composer et c, которые очень ресурсоемки.

Для этих пакетных рабочих нагрузок я хотел бы знать лучшие варианты, доступные в GCP. Просматривая некоторые из постов в блоге, которые я нашел в статье ниже, чтобы использовать Cloud Scheduler-> Pub / Sub-> Cloud Functions -> Create VM (используя скрипт запуска). https://medium.com/google-cloud/running-a-serverless-batch-workload-on-gcp-with-cloud-scheduler-cloud-functions-and-compute-86c2bd573f25

У меня есть вопросы ниже с вышеупомянутым дизайном. 1) Как долго работает облачная функция, когда она запускает виртуальную машину? Я знаю, что облачная функция имеет время ожидания 9 минут ... что произойдет, если виртуальной машине потребуется более 9 минут для обработки сценария запуска?

Любые другие идеи дизайна очень ценятся.

Спасибо

1 Ответ

0 голосов
/ 12 марта 2020

Проект, который я предлагаю, использует: Cloud Scheduler + Pub / Sub + Compute Engine

Этот дизайн в нескольких словах: - у вашего вычислительного движка будет утилита, которая слушает Cloud Pub / Sub topic - эта утилита будет выполняться при получении нового события от Topi c и запускать задание cron для экземпляра - здесь используется облачный планировщик для отправки sh сообщений в Pub / Sub Topi c в то время, когда вы можете укажите в своей работе.

Используя Pub / Sub для отделения логики планирования задач c от логики, выполняющей команды в Compute Engine, вы можете обновлять свои скрипты cron по мере необходимости, без обновления конфигурация Cloud Scheduler. Вы также можете изменить расписание задач, не обновляя служебную службу на экземплярах Compute Engine

. Вы можете найти полное объяснение этой схемы и пример кода, следуя this и this .

дайте мне знать, если что-то не очевидно.

...