2013-05-07 76 views
0

當我在編輯器中運行我的腳本時,它只執行一次,一切正常,但如果我從網頁或Excel插件或其他任何地方調用它,多次運行,直至達到Google強加的5分鐘限制。是否有辦法在第一次運行後停止腳本,或者檢查腳本是否已在運行。腳本doGet(e)奇怪的行爲

Thx尋求幫助。

+0

這是不正常的行爲。這聽起來像你有錯誤的邏輯處理事件。當你在編輯器中進行測試時,你是在模擬你從'get'得到的事件,並且通過它?請參閱[如何測試GAS中的觸發器功能?](http://stackoverflow.com/questions/16089041/how-can-i-test-a-trigger-function-in-gas)。如果這不能爲你解決問題,請發佈你的代碼 - 沒有它,你不可能得到這樣的問題的答案。 – Mogsdad 2013-05-07 12:22:06

回答

0

這似乎工作:

var start = parseInt(UserProperties.getProperty('count'),10); 
if (start == 0) 
{ 
    UserProperties.setProperty('count', 1) 
    //do stuff 
    UserProperties.setProperty('count', 0) 
} 
else if (start>0) 
{ 
    Logger.log("Script is still runnning"); 
} 
+1

這是UserProperties的一個奇怪用法,無論如何你最終可能會遇到併發問題。看起來您正在尋找[Lock Services](https://developers.google.com/apps-script/reference/lock/)。 – 2013-05-07 13:13:59