即使我的脚本仍在运行,cloud run 也会关闭容器

nab*_*aer 2 google-cloud-run

我想在云运行上运行一个长时间运行的作业。此任务可能执行 30 分钟以上,并且主要发送 API 请求。cloud run 在大约 20 分钟后停止执行,从指标来看,它似乎没有识别出我的任务仍处于运行状态。所以它可能认为它正在空转和关闭容器。我想我可以在作业运行时调用服务器以保持容器处于活动状态,但是有没有办法从容器到云运行发出信号,该作业仍然处于活动状态而不是关闭容器?

我可以说它正在关闭容器,因为日志刚刚停止。然后,我对云运行端点的下一次调用,我可以再次从 NodeJS express 看到“监听”日志。

Ahm*_*gle 6

我想在云运行上运行一个长时间运行的作业。

这是一条红鲱鱼。

在 Cloud Run 上,不能保证会使用相同的容器。这是最好的努力。

当您不处理请求时,您的 CPU 将被限制到接近 0,因此您现在尝试做的事情(运行后台任务并尝试通过发送请求来保持容器处于活动状态)并不是一个好主意。您的应用程序模型很可能不适合 Cloud Run,我推荐其他可以让您运行长时间运行进程的计算产品。

  • 那么 Google 是否有一个无服务器容器引擎,您可以像 Fargates 一样按 CPU 和内存使用量付费?可以让您运行后台线程并放大或缩小它们的东西。 (2认同)

Dou*_*son 5

根据文档,Cloud Run 将在 15 分钟后超时,并且无法增加该限制。因此,对于长时间运行的任务,Cloud Run 并不是一个很好的解决方案。如果您的工作需要长时间运行,请考虑将工作委托给 Compute Engine 或其他没有时间限制的产品。