elm-lang / elm-package

Command line tool to share Elm libraries
BSD 3-Clause "New" or "Revised" License
213 stars 66 forks source link

Evidence for retry in package managers #276

Open evancz opened 7 years ago

evancz commented 7 years ago

Thanks to @garbas for the following exploration, taken directly from https://github.com/elm-lang/elm-package/issues/163#issuecomment-311853076. As a side note, new issues are always preferred to adding on to old things. Folks should just try to write something clear and concise, and I will do the meta analysis to connect the topics.


I'd like to cast my vote on having a retry policy in elm-package when downloading.

The following language specific package managers I checked have retry logic builtin:

It looks quite common to retry when a connection error happens. And there might be many reasons why connection can fail, which has nothing to do with code and I see no better way but to retry.

process-bot commented 7 years ago

Thanks for the issue! Make sure it satisfies this checklist. My human colleagues will appreciate it!

Here is what to expect next, and if anyone wants to comment, keep these things in mind.

garbas commented 7 years ago

@evancz thank you for moving this into a separate issue.

Now that I got preliminary 👍 from --retry functionality, I dig deeper on how (timeout, when to retry, how many retries, ...) retries are done in different package managers.

I'll start with pip since I'm most familiar with it

pip

Options with their defaults which control how packages get downloaded

ento commented 6 years ago

pip: links to latest (as of Oct 2, 2017) source code location: