2013-03-09 55 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

相關問題