trapias/TrelloExport

429 error Rate Limits

vangstma opened this issue · 10 comments

After the last update of the Atlassian platform. I can't extract any more information, error 429 always appears. How can I correct this?

@vangstma do you always get this error for any board, or only for boards with lot of cards? I never ran in such an issue, and I do not have a business account

Hello Vangstma. No matter which Trello account type you have, use of the REST API is restricted by rate limiting and there is no way around it. If you're exporting very large amounts of card data, you're going to have to break your requests down into batches.

@sunnyape this is actually what TrelloExport does, by limiting the number of results via the "pageSize" (valued at 300 now) parameter you can find in code. Maybe @vangstma can experiment by lowering this value

After reducing pageSize to 25 and dataLimit to 100, this is the complete error message I received when selecting about 20 boards:

error 429: {
  "message":"Rate limit exceeded: missing x-trello-user-agent-extension header",
  "error":"UNKNOWN_EXTENSION_LIMIT_EXCEEDED"
}

The "missing x-trello-user-agent-extension header" message is interesting and might be a key to understanding this.

Incidentally, awesome extension and thank you for continuing the development of it.

Export as CSV became grayed out after TrelloExport was enabled. It's possible that Trello is trying to block exports from non-business-class accounts.

image

Exporting individually doesn't seem to trigger the rate limit as often.

The "missing x-trello-user-agent-extension header" message is interesting and might be a key to understanding this.

I never heard of such an header, and actually cannot find much about it, but it sounds interesting!
I'll add this header to all AJAX requests towards Trello APIs, let's see if this can really help :-)

@vangstma @sunnyape @codewinch I just pushed a commit for the new version that adds this header to all AJAX calls.

I will later publish to the Chrome Web Store, but if you want you can try it by downloading source code and manually installing the extension in Chrome.

Upgrading to "Business Class" (pay to export personal data!) doesn't resolve the issue. I've also tried wrapping an incrementing 1 second delay (via setTimeout) around the $.ajax call and it did help, but eventually still threw a ton of those messages. (Trying to export about 20 boards.)

@codewinch this also happens with the new version adding that header? Same errors?