定时脚本无法正常工作

时间:2014-05-28 13:30:01

标签: google-apps-script

我有一个谷歌脚本,我希望每个工作日上午8:11自动运行。我已经设置了我的时区以确保一切正确,但它似乎永远不会正常工作。我在脚本方面仍然很弱。有没有人在这个脚本中看到我可能有错误的地方?

function myFunction(){
try {
var d = new Date();
if (d.getDay() == 6 || d.getDay() == 0) return;
if (d.getHours() != 08 && d.getMinutes() != 11) return;  // This will stop the script from running unless it is 8:11am
} catch (e) {
MailApp.sendEmail("pthompson@ucc.on.ca", "Error report", e.message);
}
} 

谢谢,

1 个答案:

答案 0 :(得分:0)

要基于时间运行功能,请使用“时间驱动”事件设置项目触发器(在“资源”选项卡下)。您甚至可以设置通知。

如果您想以编程方式管理此触发器,可以执行以下操作:

function createTimeTrigger() {

  // Once a day at 8AM, near minute 11 for function 'writeSomething()'
  var dailyHourNearMinute = ScriptApp.newTrigger("writeSomething")
      .timeBased()
      .everyDays(1)
      .atHour(8)
      .nearMinute(11)
      .create();
}

您会注意到这会为您创建一个触发器,可以在“当前项目的触发器”下查看。它会说在上午8点到9点之间。至于谷歌时间事件,他们在一小时内得到它,但不是在确切的分钟。系统中的负载也可以将其关闭。所以,你真正计划的最好的是,早上8点到9点之间。