2012-05-11 64 views
2

我正在解析一個大文本文件,然後調用速率受限的Google API(郵件遷移)(api文檔狀態每次調用1秒)。UserProperties的速率限制是多少?

即使當我有Utilities.sleep(1000);我的循環中,我仍然收到此錯誤即使我只在循環過程中設置該屬性一次:性能rateMax:

服務在短時間內調用次數太多。嘗試調用之間的Utilities.sleep(1000)。 (線146)

比不經常設置屬性其他,我能做些什麼來緩解呢?我應該嘗試使用CacheService來暫時存儲我的屬性嗎?

回答

1

不幸的是,確切的短期利率限制並未公開。你可能想嘗試增加你的睡眠量,希望超過必要的閾值以避免錯誤。最終我認爲你的分析是正確的,你應該考慮少寫一次用戶屬性。我不確定CacheService是否是正確的解決方案,但這取決於您如何使用這些信息。

+0

謝謝。我正在使用UserProperties記錄解析/遷移正在發生的文件中的哪個位置。我想記錄下腳本以防腳本自動失敗(並且狀態會丟失),並且還可以根據需要更新「狀態」報告。我想我只會每2-3次更新一次,而不是每次都更新一次。謝謝! – mzimmerman

0

這真的取決於您的應用程序的設計。如果您正在解析信息並可將其彙總到摘要中,則需要較少的電話。也許作爲電子郵件發送不是最佳的。解析的數據可能會到別的地方,然後指示用戶在那裏,而不是發送電子郵件?

+0

該應用程序的目的是將基於Lotus Notes的「結構化導出」郵件導出上傳到Google Apps電子郵件遷移API。本質上是允許用戶在自己的時間以及不同類型/位置的歸檔中遷移Lotus Notes中的電子郵件,而不是官方遷移工具支持的電子郵件。無論如何,電子郵件在這裏不是問題。我試圖跟蹤可能失敗的長時間運行的進程(通過設置UserProperties)(解析相關的錯誤)。 – mzimmerman

0

屬性v CacheService

CacheService產生同樣的錯誤(除非我有我的代碼,我錯過了一個bug)。如果它有助於CacheService讓您存儲更長的字符串,那麼這可以減少寫入次數。