-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: allow using a custom poll_interval function #403
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #403 +/- ##
==========================================
- Coverage 92.97% 92.95% -0.02%
==========================================
Files 64 64
Lines 2874 2882 +8
==========================================
+ Hits 2672 2679 +7
- Misses 202 203 +1 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Do you plan to add exponential backoff (with jitter & max <3) in a follow up PR?
Hmm, true, I might as well add an exponential back off function factory. |
Actually yes, I'll add the helper poll_interval function once we agreed on the default values, e.g. for the exponential back off algorithm. |
🤖 I have created a release *beep* *boop* --- ## [2.0.0](v1.35.0...v2.0.0) (2024-07-03) ### ⚠ BREAKING CHANGES * return full rebuild response in `Client.servers.rebuild` ([#406](#406)) * make `datacenter` argument optional when creating a primary ip ([#363](#363)) * remove deprecated `include_wildcard_architecture` argument in `IsosClient.get_list` and `IsosClient.get_all` ([#402](#402)) * make `Client.request` `tries` a private argument ([#399](#399)) * make `Client.poll_interval` a private property ([#398](#398)) * return empty dict on empty responses in `Client.request` ([#400](#400)) * remove deprecated `hcloud.hcloud` module ([#401](#401)) * move `hcloud.__version__.VERSION` to `hcloud.__version__` ([#397](#397)) ### Features * add `trace_id` to API exceptions ([#404](#404)) ([8375261](8375261)) * allow using a custom poll_interval function ([#403](#403)) ([93eb56b](93eb56b)) * make `Client.poll_interval` a private property ([#398](#398)) ([d5f24db](d5f24db)) * make `Client.request` `tries` a private argument ([#399](#399)) ([428ea7e](428ea7e)) * move `hcloud.__version__.VERSION` to `hcloud.__version__` ([#397](#397)) ([4e3f638](4e3f638)), closes [#234](#234) * remove deprecated `hcloud.hcloud` module ([#401](#401)) ([db37e63](db37e63)) * remove deprecated `include_wildcard_architecture` argument in `IsosClient.get_list` and `IsosClient.get_all` ([#402](#402)) ([6b977e2](6b977e2)) * return empty dict on empty responses in `Client.request` ([#400](#400)) ([9f46adb](9f46adb)) * return full rebuild response in `Client.servers.rebuild` ([#406](#406)) ([1970d84](1970d84)) ### Bug Fixes * make `datacenter` argument optional when creating a primary ip ([#363](#363)) ([ebef774](ebef774)) ### Dependencies * update dependency coverage to >=7.5,<7.6 ([#386](#386)) ([5660691](5660691)) * update dependency mypy to >=1.10,<1.11 ([#387](#387)) ([35c933b](35c933b)) * update dependency myst-parser to v3 ([#385](#385)) ([9f18270](9f18270)) * update dependency pylint to >=3,<3.3 ([#391](#391)) ([4a6f005](4a6f005)) * update dependency pytest to >=8,<8.3 ([#390](#390)) ([584a36b](584a36b)) * update dependency sphinx to >=7.3.4,<7.4 ([#383](#383)) ([69c2e16](69c2e16)) * update pre-commit hook asottile/pyupgrade to v3.16.0 ([0ce5fbc](0ce5fbc)) * update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 ([5ef25ab](5ef25ab)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.0 ([0941fbf](0941fbf)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.1 ([fec08c5](fec08c5)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.2 ([#389](#389)) ([2b2e21f](2b2e21f)) * update pre-commit hook pycqa/flake8 to v7.1.0 ([3bc651d](3bc651d)) ### Documentation * add v2 upgrade notes ([#405](#405)) ([c77f771](c77f771)) * cx11 is name, not an id ([#381](#381)) ([b745d40](b745d40)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Allow using a computed poll_interval sleeping time, (e.g. exponential back off) when polling actions.