Nesting retry blocks with selectors
masterYou can nest retry blocks to apply different strategies to different types of failures within the same execution flow by using :selector with keywords.
(retry {:strategy (constant-retry-strategy 500)} ;; Catch-all strategy
(retry {:strategy (progressive-retry-strategy :initial-delay 2000, :max-delay 10000)
:selector ::list-files} ;; Specific strategy for :list-files
(download-all-files)))(retry {:strategy (constant-retry-strategy 500)} ;; Catches everything.
(retry {:strategy (progressive-retry-strategy :initial-delay 2000, :max-delay 10000)
:selector ::list-files}
(download-all-files)))