Retries a function with exponential backoff strategy, classifying errors
to determine if retry is appropriate. Only retries locking, network, and
subprocess errors, not dependency resolution errors.
     
    
    Usage
    retry_with_backoff(func, max_attempts = 5L, base_delay = 1L, max_delay = 60L)
 
     
    
    Arguments
- func
 
(function)
Function to retry (should be a zero-argument function)
 
- max_attempts
 
(integer)
Maximum number of attempts (default: 5L)
 
- base_delay
 
(numeric)
Base delay in seconds (default: 1)
 
- max_delay
 
(numeric)
Maximum delay in seconds (default: 60)
 
 
    
    Value
    Result of successful function execution
     
    
    Details
    Exponential backoff: delay = min(base_delay * 2^(attempt-1), max_delay)