2013-03-09 28 views
1

我创建一个谷歌脚本,其中包括该代码:触发事件发生后秒而不是分钟

ScriptApp.newTrigger("fetchTweets") 
     .timeBased() 
     .everyMinutes(1) 
     .create(); 

我怎样才能改变这种触发事件每十秒钟,而不是每分钟一次?

+0

'.everyMinutes((1/60)* 10)',假设它不需要整数 – PitaJ 2013-03-09 16:51:55

+0

这是everyMinutes的文档:将触发器设置为以传入的时间间隔它必须是1,5,10,15或30中的一个。所以我不认为它会接受一个小数。 – lmortenson 2013-03-09 16:52:43

+0

没关系,然后:) – PitaJ 2013-03-09 16:54:22

回答

3

相似,这应该为你工作的解决方案,它的正常工作在我的测试区:

function callSixTimes() { 
    fetchTweets(); 
    for(var i = 1; i <= 5; i++) 
    { 
    Utilities.sleep(10000); 
    fetchTweets() 
    } 
} 

function generateTriggers() { 

    var everyMinute = ScriptApp.newTrigger("callSixTimes") 
     .timeBased() 
     .everyMinutes(1) 
     .create(); 
} 

根据谷歌组this post,这似乎是推荐的方式来实现这一级别的粒度。请注意,即使触发器被删除后,settimeout函数可能会继续触发,直到完成循环。

+0

奇怪的是,当我将这段代码添加到:(我尝试记录函数'callSixTimes',但它永远不会被调用 – 2013-03-09 19:50:20

+0

你确定你正在运行菜单下的“generateTriggers”?你只需点击“运行”按钮,看起来像一个播放符号,然后你就可以调用工具栏上的菜单中设置的任何函数,当你运行这个脚本时,那个小弹出窗口会说什么? – lmortenson 2013-03-09 20:08:52

+0

我像你告诉我的那样运行但没有弹出窗口? – 2013-03-09 21:40:16

相关问题