[英]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.