1

我正在使用 gmail 的谷歌脚本来创建一个脚本,该脚本将标记超过 150 天的电子邮件将被删除。因为脚本会在 x 时间后超时,所以我会在该时间之前处理尽可能多的电子邮件,然后为脚本设置一个新触发器,以便在 2 分钟后继续运行。

我担心的是,在设置并运行新触发器后,即使它是特定的日期和时间触发器,它仍会显示在“当前应用程序触发器”中。如果这种情况在一段时间内经常发生,例如一个月,是否会导致此错误:

'这个脚本有太多的触发器。必须先从脚本中删除触发器,然后才能添加更多触发器。

还是会在某个时候自动删除过期的特定日期和时间触发器?

有谁知道这种情况的最佳做法?

4

1 回答 1

3

应用脚本每个用户/脚本限制为 20 个触发器。为了解决这个问题,我建议在脚本运行时使用 ScriptApp 类删除所有旧触发器。ScriptApp.getProjectTriggers() 可用于获取项目触发器的数组。如果您只在这种情况下使用触发器,并在每次运行脚本时删除它们,您的代码将如下所示:

function triggered(e){
    var triggers = ScriptApp.getProjectTriggers();
    try{
       ScriptApp.deleteTrigger(triggers[0]);
    }catch(e){

    }
    mainLogic()
}
于 2015-07-30T16:06:04.253 回答