Всегда работает скрипт Python в Google Cloud - PullRequest
1 голос
/ 28 апреля 2019

Я хочу разместить скрипт Python в Google Cloud, который будет работать бесконечно .

Какие облачные продукты Google можно использовать для достижения этого надежно и экономично ?

возможно ли это на AppEngine ?

Ответы [ 2 ]

1 голос
/ 27 мая 2019

Это возможно в appengine, попробуйте перейти на бэкэнд типа экземпляра в app.yaml
Вы можете узнать больше об экземплярах бэкэнда / внешнего интерфейса здесь

1 голос
/ 28 апреля 2019

В GCP есть несколько способов запуска логики обработки.У нас есть App Engine, Функции, Compute Engine, GKE, Cloud Run и многое другое.Из них Compute Engine и GKE обеспечивают контроль на самом низком уровне, что означает, что вы можете организовать код для выполнения 100% времени ... и в основном делать все, что захотите.Исходя из вашей истории, кажется, что Compute Engine будет тем, что вы хотите.Когда вы создаете Compute Engine, вам в основном предоставляется Виртуальная машина (обычно Linux), и вы просто запускаете любую логику / приложения, которые вам нужны в этой среде.Google взимает с вас плату за время работы Compute Engine.Если у вас всегда работает явное приложение Python, то вам будет выставлен счет 24x7 независимо от того, поступает ли трафик на самом деле.

Другие возможности, которые вы, вероятно, захотите рассмотреть, - это облачные функции.Облачная функция - это логика, которая запускается только при наличии активного запроса, который нужно обработать.GCP несет ответственность за пассивное прослушивание новых запросов без взимания платы за эту услугу.Когда приходит запрос, ваша логика выполняется, и вам выставляется счет только на тот период, когда ваша логика фактически выполняется.Cloud Run похож на Cloud Functions, но логика размещена в среде Kubernetes, а не в собственной.

Для Cloud Function входящие запросы могут поступать либо через запросы REST, либо через GCP Pub / Sub.В вашем описании ни один из них не применяется, поскольку вы получаете данные через MQTT.Это где Google IOT Core вступает в игру.Ядро Google IoT - это полнофункциональная среда для управления устройствами IoT.Основным среди этой истории является способность пассивно прослушивать входящие MQTT-запросы.Когда авторизованное устройство IoT отправляет запрос MQTT, ядро ​​Google IoT автоматически пересылает содержание запроса MQTT через GCP Pub / Sub.Это затем отделяет механику поступающего IoT-сообщения от того, как оно будет в конечном итоге обрабатываться.Поскольку сообщение MQTT теперь опубликовано в GCP Pub / Sub, его можно использовать в качестве триггера для функции Google Cloud.

После всех этих частей ... одна возможность проверить, что может привести ксамым дешевым и динамически масштабируемым решением было бы:

IoT-устройство --- MQTT ---> IoT Core --- Pub / Sub ---> Облачная функция

Эта история в основном измениласьпарадигма от «Как я активно слушаю запросы в моем коде неопределенным образом» до «Как мне выполнить мой код при поступлении запроса».

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