使用 Google 云执行非常长 运行 的任务

Execute very long-running tasks using Google Cloud

我已经使用 Google CLoud 几个星期了,由于我有限的 GCP 知识,我面临着一个大问题。

我有一个 python 项目,其目标是使用 API 从网站“抓取”数据。我的项目 运行 在执行过程中有几万个请求,这可能需要很长时间(几个小时,也许更多)

我的项目中有 4 个 python 脚本,它们都是由 bash 脚本.

编排的

执行如下:

现在我想使用那个 bash 脚本,我想自动执行大约 thos 脚本。每周一次。

这里的问题是执行时间。这是我已经测试过的:

Google App Engine:GAE 上请求的超时限制为 10 分钟,而我的函数可以 运行 几个小时。 GAE 在这里不可用。

Google Compute Engine :我的脚本最多 运行。每周 10-15 小时,在所有时间里保持计算引擎的运行成本太高了。

如何在云环境中自动执行我的脚本?在不更改我的代码的情况下,有哪些我没有想到的解决方案?

谢谢

实现此目的的一种简单方法,无需摆脱现有的 bash 编排一切的脚本:

  1. startup script for the instance 中包含 bash 脚本。
  2. 在 bash 脚本的末尾,包含一个 shutdown 命令。
  3. 使用 Cloud Scheduler. You'll have to make an authenticated call to the GCE API to start the existing instance.
  4. 安排实例的启动

这样,您的实例将按计划启动,它将 运行 启动脚本(即您现有的编排脚本),并在完成后关闭。