StickerAction 對外 request 被擋的處理

yahoo error 999
最近在為了減少 StickerAction 對外部的 request 數量作處理, 花了好一些工夫 XD 因為 wretch 那邊大概只要有 50 個 request(一小時或半小時, 阿災), 就會被先前 xdite大大 說的 Yahoo 金鐘罩檔掉了。 請見上圖 Yahoo 999 XD

所以昨天寫了一段 code 來對幾個台灣已知的 BSP 作 request 數量的限制, 目前對於 wretch 限制在每個小時 30 個 request, 今天運作了一天, 都還滿正常的, 沒有再被檔掉的情形。

程式就是用以下變數來作控制

  • limit 寫定限制的次數
  • interval 寫定多久時間內可以存取多少次 limit 的次數
  • count 記錄存取次數
  • time 記錄第一次存取的時間

基本上就是 count 還沒到達 limit 都可以一直對外部作存取, 然後隨著存取次數, count 會一直往上加, 一直到達 limit 限制的次數, 就不在對外部作存取, 一直到 time + interval 的時間到了, 就可以將 time 跟 count 作重置, 然後才再繼續存取。

之前再公司也寫過一個, 跟上面這段類似的存取限制, 不過是反過來的, 然後稍微再複雜一點。 不過這類的應用應該各位大大早就很熟悉了 XD

也感謝 xdite 大的提點。 也對 bestguy花姐造成的麻煩說聲抱歉 >"<

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!