sixwings
發現噗浪API又爆炸…
/APP/Responses/getById
/APP/Responses/responseAdd
心累累
維修紀錄
sixwings
/APP/Responses/responseAdd
底層的 API call 過程觸發了例外,然後判定為呼叫錯誤,但錯誤紀錄顯示200。不知道這到底是什麼情形?
sixwings
/APP/Responses/getById 的錯誤我也無法理解,之前官方好像改過抓取機制,也配合它改了程式,結果現在還是給我抓不到。
sixwings
原本以為是單一出錯的狀況,目前看起來是 Plurk API 整體的問題
/APP/Alerts/getActive
/APP/Polling/getPlurks
這兩個撈資料用的API現在出錯的比例越來越高,感覺官方系統有出一些狀況
sixwings
之前偷懶沒有把 API error 的例外處理寫好,現在錯誤率這麼高,不弄好不行了orz
sixwings
因為error是底層函式庫觸發的,所以我也不一定能修QQ
只是不找出原因就會覺得心裡很不舒坦
sixwings
處置:
1. 先重開系統,看error狀況有沒有改善
2. 確認底層函式庫是否有導出syserr的功能?沒有的話要自幹一個,釐清現在的狀況
sixwings
重開機器人程式,調出這禮拜的錯誤紀錄。
12/14 16次
12/18 242次
12/19 523次
很明顯是在這兩天變成非常高頻的error狀況
sixwings
看了一下,目前會觸發expect的位置在requests.post(),根據目前時好時壞的狀況來看,也蠻像我這邊網路不穩。如果可以知道error種類就知道怎麼修正會比較好了
sixwings
謎底揭曉⋯⋯connection error
可能要問老哥才知道怎麼了?...
sixwings
sixwings
要改底層函式庫了。看它的實作,應該是每次 API 呼叫都要建立一次連線,假如改成 keep-alive的話應該可以避開每次都要重新連線的問題,不確定可否改善,但試試看
sixwings
當初開發的人沒有設想到 API 會被用在固定營運的服務上,這種情況用 session 應該會比較好一點。
sixwings
然後是錯誤重送機制,這部分改起來比較麻煩,程式目前不是非同步架構,重送 API call 的時候程式不會動,看起來會跟當掉一樣。另外也要判斷哪些指令miss沒關係?哪些是一定要送到成功為止?
sixwings
之前曾經弄過一個簡單的網路斷線重送機制,但後面還是常常爆炸。趁這次把底層的問題翻修一遍好了,不然連線一直掛掉的時候,這個缺點就會很明顯
sixwings
session 應該今天可以弄好
API call 重送的部份會讓整個程式架構變成非同步的,需要思考
sixwings
醒來看到程式爆炸又更不爽了,被 /APP/Responses/getById 的機制搞到。然後連線問題改善了,可能官方那邊有作網路調整之類的吧,阿災,跟謎一樣
sixwings
連線爆炸的問題在台北時間13:50之後獲得改善,在那之後就沒遇到NewConnectionError了。因為我這邊自始至終都沒改過程式,就只能官方那邊的問題比較大了。真的要檢討我自己的話,大概就是沒有寫好容錯機制,導致我這邊也跟著受到影響。
載入新的回覆