Resolve "Handle Slow Down Better"
Closes #167
Refactors the uploadContents
process to have a built in retry, and not completely try to re-upload everything on a single failure. There is a parameter to specify how many retry attempts it will do before it fails (just set to 3 and non-configurable for now).
Any non 200 response from uploadContent
will throw an HttpException
. Any "non-retryable" exception from that will fail the entire product (like if we get a 4XX errors or something), just as it did before.
Any "retryable" exceptions will be retried, but instead of re-uploading ALL of the products contents, it only retries the contents that failed. The retryable exception filter is basically "The exception is an HttpException
(ignores any other exceptions like a URISyntaxException
, etc...), it is a status code of 503, and the message has "Slow Down" in it" (Same criteria as before).
TODO:
-
Deploy this in a variant and test to make sure it works as expected