总是在Google云上运行Python脚本

总是在Google云上运行Python脚本,python,google-app-engine,google-cloud-platform,Python,Google App Engine,Google Cloud Platform,我想在谷歌云上托管一个python脚本,它将无限期运行 哪些谷歌云产品可以可靠且经济地实现这一目标 这在AppEngine上可能吗?在GCP中,有许多方法可以运行处理逻辑。我们有应用程序引擎、函数、计算引擎、GKE、云运行等等。其中,Compute Engine和GKE提供了最低级别的控制,这意味着您可以编排代码以100%的时间运行。。。基本上你想做什么就做什么。根据你的故事,听起来计算机引擎就是你想要的。当您创建一个计算引擎时,您基本上得到了一个虚拟机(通常是Linux),您只需在该环境中运行

我想在谷歌云上托管一个python脚本,它将无限期运行

哪些谷歌云产品可以可靠且经济地实现这一目标


这在AppEngine上可能吗?

在GCP中,有许多方法可以运行处理逻辑。我们有应用程序引擎、函数、计算引擎、GKE、云运行等等。其中,Compute Engine和GKE提供了最低级别的控制,这意味着您可以编排代码以100%的时间运行。。。基本上你想做什么就做什么。根据你的故事,听起来计算机引擎就是你想要的。当您创建一个计算引擎时,您基本上得到了一个虚拟机(通常是Linux),您只需在该环境中运行您想要的任何逻辑/应用程序。谷歌按计算引擎运行的时间向您收费。如果您有一个始终运行的显式Python应用程序,那么无论流量是否实际到达,您都将全天候付费

<>你可能想考虑的其他能力是云函数。云函数是一种逻辑,它仅在有活动请求需要处理时运行。GCP的责任是被动地侦听新请求,而不向您收取该服务的费用。当一个请求到达时,您的逻辑将被执行,并且您只会在逻辑实际执行的持续时间内收到账单。云运行类似于云函数,但逻辑托管在Kubernetes环境中,而不是本地环境

对于云功能,传入请求可以通过REST请求或GCP Pub/Sub到达。在您的描述中,这两种方法都不适用,因为您通过MQTT接收数据。这就是谷歌物联网核心发挥作用的地方。谷歌物联网核心是管理物联网设备的全套环境。其中的主要功能是被动侦听传入的MQTT请求。当授权的物联网设备发送MQTT请求时,谷歌物联网核心会通过GCP发布/订阅自动转发MQTT请求的内容。这会将到达的物联网消息的机制与最终的处理方式分离。由于MQTT消息现已发布到GCP Pub/Sub,因此可以将其用作Google云函数的触发器

下面是所有这些部分。。。一种可能的研究方法是,找出最便宜、更具动态可扩展性的解决方案:

物联网设备---MQTT--->物联网核心---发布/订阅--->云功能


这个故事从根本上改变了范式,从“如何在我的代码中以不确定的方式积极侦听请求”到“当请求到达时如何执行我的代码”。

在appengine上,可以尝试在应用程序中切换到实例类型后端。yaml

您可以了解有关后端/前端实例的更多信息

您能否澄清python脚本在逻辑上的作用?例如,一个python应用程序正在侦听传入的浏览器请求并为其提供服务。。。逻辑上可以被认为是“无限期运行”,但结果与“计算PI的无限位数”截然不同。目前,这个问题太宽泛,在回答之前需要缩小范围。@Kolban它监听来自物联网设备的数据。谢谢。。。但它如何监听数据呢?它是传入的REST请求吗?它是MQTT发布吗?是否为GCP发布/订阅?请花时间尽可能全面和深入地响应。这是一个MQTT客户端,它可以持续侦听来自设备的消息。非常棒的解释。谢谢您的时间。:)