class_docstr: An artifact store's middleware for exponential backoff.
  
  Example:
     .. code-block:: python
  
         import optuna
         from optuna.artifacts import upload_artifact
         from optuna.artifacts import Boto3ArtifactStore
         from optuna.artifacts import Backoff
  
  
         artifact_store = Backoff(Boto3ArtifactStore("my-bucket"))
  
  
         def objective(trial: optuna.Trial) -> float:
             ... = trial.suggest_float("x", -10, 10)
             file_path = generate_example(...)
             upload_artifact(trial, file_path, artifact_store)
             return ...
code: def _get_sleep_secs(self, n_retry: int) -> float:
      return min(
          self._min_delay * self._multiplier**n_retry, self._max_delay
      )
  
file_path: optuna/optuna/artifacts/_backoff.py
imports: from __future__ import annotations
  import logging
  import time
  from typing import TYPE_CHECKING
  from optuna.artifacts.exceptions import ArtifactNotFound
label_desc: Use image node_id 2 for calling the Backoff obj's underlying member method code with example usage: obj._get_sleep_secs(n_retry) and returns: min