像標題描述 - 我有一個Azure功能的應用程序服務計劃,配置爲始終打開,並沒有functionTimeout
設置在我的host.json
,它似乎超時/不能在30分鐘到1小時之後完成(...但是我覺得這可能是一個誤報...)Azure功能永遠在線應用程序服務計劃超時沒有functionTimeout設置
HTTP觸發功能有時可能需要1-2個小時才能完成。我明白這可能不是最好的設計,根據Azure Function Best Practices我應該把它分解成更小/更易處理的部分 - 我明白了。不過,我期望App服務計劃的功能能夠像宣傳的那樣工作 - 對執行時間沒有硬性限制。也許這是與Unexpected azure-function timeouts on app-service-plan相同的問題,但是沒有答案,我正在使用HTTP觸發器。
當前,HTTP觸發方法直到工作完成纔會返回。 (這是一個問題 - 在HTTP觸發需要返回更快)
按照捻函數調用日誌,這種情況下報告「從未完成」,當我點擊切換輸出按鈕來查看日誌,他們。從來沒有進來
當我在扳機的日誌部分認爲這一功能的運行,它似乎像函數只是停止,日誌流只是報告沒有新的跟蹤:
2017-07-26T16:36:43.116 [INFO] [Class1] Update operation started processing 790 sales records ... 2017-07-26T16:36:43.116 [DBUG] [Class2] Matching and updating ids from the map... 2017-07-26T16:38:07 No new trace in the past 1 min(s). 2017-07-26T16:39:07 No new trace in the past 2 min(s). 2017-07-26T16:40:07 No new trace in the past 3 min(s). 2017-07-26T16:41:07 No new trace in the past 4 min(s).
所以不知道爲什麼這個函數似乎停止了 - 或者它可能停止了收集日誌語句(有很多),並且由於某種原因,函數從未完成。
任何想法?
約時間: 2017-07-26T16:00:00 UTC InvocationID:(我認爲) d856c107-f1ee-455A-892B-ed970dcad128
如果確實正在超時,有什麼辦法讓我們知道,(例外?應用程序見解等)
親愛的上帝,我覺得對於發起的HTTP請求...... –
@JesseCarter我們只是使用HTTP觸發手動測試.. – flyte
在最低限度的客戶端對不起HTTP觸發器應該將一個工作項放入一個隊列中以啓動另一個功能來執行實際的處理。您可以通過毒物隊列獲得自動重試和審覈的好處 –