簡體   English   中英

如何將谷歌腳本執行時間限制為 1 分鍾?

[英]How to limit google script execution time to 1 minute?

如何設置時間限制以在 1 分鍾后結束運行?

情況:我有一個每天每 5 分鍾運行一次的腳本。 我的腳本超過了每天 3 小時的計算時間限制。

所以,我需要創建一個函數來調用我的函數 A(很長,所以我把它貼在這里),但只讓它運行最多 1 分鍾,然后結束。

我已經進行了廣泛的搜索,但所有其他解決方案都使用循環。 但是,導致超時的函數不是循環函數。 我不介意該功能沒有成功完成。

你要么需要一個循環,執行一次只運行幾秒鍾的一小段代碼; 或者您需要添加多行代碼,以“經常”檢查狀態。

要獲取開始時間,您可以使用:

var startTime = Date.now(); //Get milliseconds from a date in past

作為測試,您可以運行以下函數,然后查看日志:

function exampleCode() {

  var startTime = Date.now();
  Logger.log(startTime);

  Utilities.sleep(1000); //Stop the code for 1 second

  var timeNow = Date.now();
  Logger.log(timeNow);

  var elapsedTime = timeNow - startTime;
  Logger.log(elapsedTime);
};

當然,您不會想要重新分配startTime 所以把它放在代碼的頂部,永遠不要重新計算它。

停止代碼,在 1 分鍾,即 60000 毫秒

if (elapsedTime > 60000) {return}; //Quit after 1 minute

您可以創建一個函數來檢查經過的時間:

function elapsedTime() {
  var timeNow = Date.now();     
  var elapsedTime = timeNow - startTime;
  if (elapsedTime > 60000) {return 'die'}; //return 'die' if longer than 1 minute
};

if (elapsedTime() === 'die') {return};//Quit after 1 minute

暫無
暫無

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

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