iT邦幫忙

0

Google Cloud Functions重複執行?

  • 分享至 

  • xImage

最近在做lineBot結合google cloud functions的Side Project遇到cloud functions疑似重複執行的問題

問題發生在,我想記錄使用者上一次在bot裡發送的文字,所以每次對bot輸入特定文字的時候會根據userid更新google sheet裡面的command欄位。
但是卻發生明明沒有輸入文字,google sheet上的資料卻會不停地變換

不停變換的影片(錄製的當下也沒有輸入任何文字,而且已經變了10幾分鐘):
Yes

之前也發生串ai植物辨識的api的時候,明明只call一次api但是api後台卻顯示我的額度不停減少(規則是call一次api會減少一點額度),所以排除是程式方面重複寫入sheet的問題

這是bot回傳文字:
https://ithelp.ithome.com.tw/upload/images/20240719/20161645l0YYBYYOn0.png

因為bot回傳正確而且只回傳一次,所以也排除是line bot重複呼叫

再來這個現象發生的前夕,好像都是程式有錯,後來除錯完就會開始重複執行。
所以在想是不是cloud functions有什麼只要程式錯誤就會定時跑錯誤程式的規則? 才會這樣一直執行,但是我又沒找到相關文件QQ,只好來請求協助

看更多先前的討論...收起先前的討論...
SunM0on iT邦新手 4 級 ‧ 2024-07-19 13:22:43 檢舉
這個Google Cloud Function我沒用過,但應該能重啟或關閉? 有試過重啟嗎,有可能是你這個function錯誤時到現在一直在執行,雲服務上的進程沒有正確關閉
DDDo iT邦新手 5 級 ‧ 2024-07-19 13:45:24 檢舉
我也想過重啟,但是只有找到重啟VM但是我沒使用VM,找不到在哪重啟這個服務QQ
woeichern iT邦新手 1 級 ‧ 2024-07-22 16:50:03 檢舉
Cloud Funtion 似乎遇到錯誤時retry的機制
你要不要log一下
看是跑到哪裡後就沒正常跑完了
DDDo iT邦新手 5 級 ‧ 2024-07-22 17:30:47 檢舉
後來自己找到問題了(可能),來記錄一下。
原本一直以為是Cloud Funtion問題,查文件發現觸發條件設定http是不會retry的,所以才去查line developers後台,發現wehook有一個地方是設定redeliver,代表當webhook失敗會再次傳送,所以才會重複呼叫
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答