如何在1分钟后设置一个时间限制来结束运行?
情况:我的脚本每天运行5分钟。我的脚本超出了3小时的每日计算时间限制。
所以,我需要创建一个调用my functon A的函数(很长时间,所以我不想在这里发布),但只允许它最多运行1分钟,然后结束。
我已广泛搜索,但所有其他解决方案都适用于循环。然而,导致超时的我的功能不是循环函数。我不介意功能没有成功完成。
答案 0 :(得分: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