1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-09-03 16:45:17 +00:00

Standardize retry mechanism (#1649)

* [utils] Create `RetryManager`
* Migrate all retries to use the manager
* [extractor] Add wrapper methods for convenience
* Standardize console messages for retries
* Add `--retry-sleep` for extractors
This commit is contained in:
pukkandan
2022-08-02 01:43:18 +05:30
committed by GitHub
parent bfd973ece3
commit be5c1ae862
15 changed files with 256 additions and 277 deletions

View File

@ -861,11 +861,11 @@ def create_parser():
dest='retry_sleep', metavar='[TYPE:]EXPR', default={}, type='str',
action='callback', callback=_dict_from_options_callback,
callback_kwargs={
'allowed_keys': 'http|fragment|file_access',
'allowed_keys': 'http|fragment|file_access|extractor',
'default_key': 'http',
}, help=(
'An expression for the time to sleep between retries in seconds (optionally) prefixed '
'by the type of retry (file_access, fragment, http (default)) to apply the sleep to. '
'Time to sleep between retries in seconds (optionally) prefixed by the type of retry '
'(http (default), fragment, file_access, extractor) to apply the sleep to. '
'EXPR can be a number, linear=START[:END[:STEP=1]] or exp=START[:END[:BASE=2]]. '
'This option can be used multiple times to set the sleep for the different retry types. '
'Eg: --retry-sleep linear=1::2 --retry-sleep fragment:exp=1:20'))