簡體   English   中英

谷歌表格中的應用程序腳本函數卡在“正在加載...”

[英]App Script Functions in Google Sheet Stuck At “Loading…”

我最近在使用 Google Sheets & App Scripts 時遇到了一些問題,我希望有人能幫助我。 我將把這篇文章包含在一個主題/問題中,但我會提到一些其他問題,這些問題只是為了更大的背景,以防其他問題相關或可能導致特定問題到這個話題。

問題:我的 Google Speadsheet 中的自定義應用腳本函數目前卡在“正在加載...”,在撰寫本文時已經超過一個小時。 在我的 App Script Dashboard 的 MyExecution 中沒有執行它的日志,也沒有任何地方報告任何錯誤。 這些功能一直有效,並且在過去的幾個月里一直有效,直到今天。

詳細信息:因此,在我的 Google 表格中,我使用了自定義方法“findSeenCount”。 它在幾張紙中使用了很多次,雖然我認為這里的邏輯不相關,但我會說它的目的是對特定的事情進行計數,這些事情過於復雜,無法將基本的電子表格計數和條件鏈接在一起。 function 本身工作正常,並且已經使用了幾個月。 然而,今天當我在編寫一個單獨的腳本(工作標題:newFunction)時,我開始注意到每次我保存我的腳本項目或在編輯器運行 - > newFunction 時,它都會觸發我在工作表中的所有 findSeenCount 函數運行(因為它會在執行日志中獲得一個條目),但在工作表本身(調用實際所在的位置)上,它實際上從未重新計算。 返回值保持不變,它從未更改為“正在加載...”,但根據儀表板顯然發生了執行。 這很費力,而且很奇怪,因為當我注意到發生這種情況時 newFunction 只是做了兩個簡單的請求來獲取一些特定的工作表,其中一個是一個帶有一些 findSeenCount 函數的工作表(盡管我以前從未遇到過這個問題在我的其他一些功能中)。

function newFunction()
{
var attendanceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Attendance"); 

// Sheet that contains findSeenCount.
var P1Sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("P1 Prio");

return;
}

此時,我的 App Script 儀表板 -> My Executions 頁面開始變得非常緩慢,最終開始崩潰。 沒有報告錯誤,當頁面加載時,我可以看到它完成了不需要的執行。 它在我嘗試工作時運行了幾百次,最終我完全刪除了工作表中的所有 findSeenCount function 調用。 在我這樣做之后,我試圖觸發的任何 function 都不起作用。 在工作表中,如果我調用了 function,它會卡在“正在加載...”上,並且我的儀表板上不會顯示任何執行記錄 -> 我的執行。 如果我在編輯器中運行 function,它將運行,“運行功能”框會彈出,最終 go 消失,僅此而已。 同樣,儀表板 -> 我的執行中不會記錄任何執行記錄,並且如果在日志語句中寫入,它實際上永遠不會將任何結果返回到日志“等待日志,請稍候......”。 我在任何地方都沒有看到任何錯誤,而且我認為我沒有超過任何類型的執行限制,因為我希望在某個地方被告知我有。 最重要的是,我還注意到我有大量的執行記錄被記錄下來,我的意思是我的應用程序每天都會看到一些繁忙的流量,並且在過去的幾個月里一直如此。 僅加載一個執行頁面時,僅此一項似乎會導致一點延遲,而且我不確定是否有辦法清除此列表 - 但這已經脫離主題了。

如果有人對正在發生的事情有任何想法,或者我應該對此做什么,或者我可以在哪里找到任何可以為我提供有關問題所在的詳細信息的日志記錄,請告訴我!

謝謝

快速修復是清除瀏覽器緩存和 cookies 並清除工作表並再次添加公式。

更可靠的方法是放棄自定義公式並使用觸發器或菜單或按鈕。 自定義函數在大范圍內是不可靠的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM