始终在Google Cloud上运行Python脚本

时间:2019-04-28 13:36:04

标签: python google-app-engine google-cloud-platform

我想在Google Cloud上托管 python脚本,该脚本将无限期运行

可靠,经济可以使用哪些Google Cloud产品?

AppEngine 上有可能吗?

2 个答案:

答案 0 :(得分:1)

在GCP中,有多种方法可以运行处理逻辑。我们有App Engine,Functions,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发布/订阅来到达。在您的描述中,当您通过MQTT接收数据时,这些都不适用。这就是Google IOT Core发挥作用的地方。 Google IoT核心是用于管理IoT设备的完整套件环境。这个故事中最主要的是能够被动地监听传入的MQTT请求。当授权的IoT设备发送MQTT请求时,Google IoT Core会自动通过GCP发布/订阅转发MQTT请求的内容。然后,这会将到达的物联网消息的机制与最终将如何处理分开。由于MQTT消息现已发布到GCP发布/订阅,因此可以将其用作Google Cloud Function的触发器。

所有这些部分之后...一种可能导致最便宜且更具动态可伸缩性的解决方案可能是:

IoT设备--- MQTT ---> IoT Core --- Pub / Sub --->云功能

这个故事基本上将范式从“如何以不确定的方式主动侦听代码中的请求”更改为“如何在请求到达时执行我的代码”。

答案 1 :(得分:0)

可以在appengine上尝试在app.yaml中尝试转移到实例类型后端
您可以了解有关后端/前端实例here

的更多信息