HenningHolmDE / hcloud-rust

Unofficial Rust crate for accessing the Hetzner Cloud API
Other
64 stars 7 forks source link

Add retry to routes #10

Open svenstaro opened 3 years ago

svenstaro commented 3 years ago

Currently, the Hetzner Cloud API is sadly sometimes quite flaky and will at times throw around random errors. Hetzner themselves apparently know this and have implemented retry measures in some parts of their Terraform provider and Go client library.

We hit these problems very often using your library and I think it would be a good idea to add retry support into the library directly. I'm not exactly sure how to implement this given that you use the OpenAPI generator, however.

HenningHolmDE commented 3 years ago

Thanks for reporting the issue, @svenstaro !

Did you notice any regularity in when you get the errors? Actually getting the errors would of course make implementing the retry support a lot easier.

Using the generator is probably no serious obstacle here as the templates can be modified. So if you already have an idea on how to implement this for any of the API functions, feel free to post it here and I can adapt this into the templates.