Forum Discussion

MatthewBrisch's avatar
MatthewBrisch
Qrew Member
2 years ago

429 Error Help

Hi Folks,

I have an app where ~500 users are "clocking out" at the same time or close to it. 

The app is experiencing a 429 Error which I am trying to confirm if it is a QB limitation or if I am hitting a Cloudflare limit.

Does anyone have a work around or solution to avoid the 429 Error?

Below is an example of one of the buttons being used. 

Thanks for your help!

Matthew

--------------------

var text RefreshPage = URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl();
If([XXXXXX]=0,"",


URLRoot() & "db/" & [_DBID_XXX] &
"?a=API_EditRecord" &
"&apptoken=XXXX" &
"&rid=" & [XXXXX] &

"&_fid_40=" & (Now()) &
 "&rdr=" & URLEncode($RefreshPage))







------------------------------
Matthew Brisch
------------------------------

  • These article here says what that error means.  It sounds like it is actually Cloudflare protecting the system.

    General scalability

    Quickbase utilizes edge-layer protection with Cloudflare to ensure security and stability of the platform. Quickbase may return an HTTP error 429 in the case where an integrator is making too many requests in a period. Per the RFC spec, integrators should respect the 429 response code and the response header "Retry-After" that indicates how long the originator should wait before trying again.




    As an aside, you should rewrite your call like this

    "&_fid_40=now" &

    The subtle difference is that the Now() will reflect the date/time that the page loaded (which may get stale), and the now will be the date/time that the API call is processed.

    As an aside,   man-o man, they sure make a run for the exits at quittin' time eh?  Such a rush that Cloudflare is seeing it as an attack  :)



    ------------------------------
    Mark Shnier (Your Quickbase Coach)
    mark.shnier@gmail.com
    ------------------------------
    • MatthewBrisch's avatar
      MatthewBrisch
      Qrew Member

      Thanks Mark, that is what I suspected.  I need to track down the limit and see how we can work around it assuming it cannot be adjusted. 



      ------------------------------
      Matthew Brisch
      ------------------------------