【问题标题】:How to schedule longer python scripts in GCP without cloud functions如何在没有云功能的 GCP 中安排更长的 python 脚本
【发布时间】:2020-10-25 17:41:19
【问题描述】:

我有一个从 API 下载大量数据的脚本。该脚本大约需要两个小时才能运行。我想在 GCP 上运行脚本,并安排它每周周日运行一次,这样我们的 SQL 数据库(也在 GCP 上)中的最新数据在第二天之前。

我知道 cronjobs,但不想只为这个单个脚本运行整个服务器。我查看了云函数和云调度程序,但由于脚本执行时间过长,我无法在云函数上运行它,因为最长执行时间为 9 分钟 (from here)。有没有其他方法可以安排 python 脚本运行?

提前谢谢你!

【问题讨论】:

    标签: python python-3.x google-cloud-platform


    【解决方案1】:

    要运行超过 1 小时的脚本,您需要使用 Compute Engine。 (Cloud Run 只能活 1 小时)。

    但是,您可以使用 Cloud Scheduler。这里怎么办

    • 以您想要的频率创建云调度程序
      • 在此调度程序上,使用Compute Engine Start API
      • 在高级部分,选择有权启动 VM 实例的服务帐户(创建或重复使用)
      • 选择 OAuth 令牌作为身份验证模式(不是 OIDC)
    • 创建一个计算引擎(您将从 Cloud Scheduler 开始)
      • 添加一个启动脚本来触发您的长期工作
      • 在脚本的最后,添加一行来关闭 VM(以 Gcloud 为例)

    注意:启动脚本以 ROOT 用户身份运行。注意默认主目录和创建文件的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 2019-06-15
      • 2022-08-19
      • 2021-09-22
      • 1970-01-01
      • 2020-11-13
      • 2021-06-22
      相关资源
      最近更新 更多