簡體   English   中英

如何在沒有雲功能的情況下在 GCP 中安排更長的 python 腳本

[英]How to schedule longer python scripts in GCP without cloud functions

我有一個腳本可以從 API 下載大量數據。該腳本運行大約需要兩個小時。 我想在 GCP 上運行該腳本並安排它在星期日每周運行一次,以便我們在第二天之前在我們的 SQL 數據庫(也在 GCP 上)中獲得最新數據。

我知道 cronjobs,但不想只為這個單個腳本運行整個服務器。 我查看了雲函數和雲調度程序,但由於腳本執行時間太長,我無法在雲函數上運行它,因為最長執行時間為 9 分鍾( 從此處開始)。 還有其他方法可以安排 python 腳本運行嗎?

先感謝您!

要運行超過 1 小時的腳本,您需要使用計算引擎。 (Cloud Run 只能活 1h)。

但是,您可以使用 Cloud Scheduler。 在這里怎么做

  • 以您想要的頻率創建雲調度程序
    • 在此調度程序上,使用Compute Engine Start API
    • 在高級部分,select 一個服務帳戶(創建一個或重用一個)有權啟動VM實例
    • Select OAuth 令牌作為身份驗證模式(不是 OIDC)
  • 創建一個計算引擎(您將從 Cloud Scheduler 開始)
    • 添加一個啟動腳本來觸發你的長期工作
    • 在腳本的末尾,添加一行以關閉 VM(例如使用 Gcloud)

注意:啟動腳本以 ROOT 用戶身份運行。 注意默認主目錄和創建文件的權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM