Retry logic in Workflows: Best practices for failure handling
Nov 8, 2022

Summary
This post details best practices for handling failures in Temporal Workflows, focusing on the 'where' (platform vs. application) and 'when' (transient, intermittent, permanent) dimensions of failure. It explains how to configure retry policies with exponential backoff for platform-level errors like connection issues, and how to handle application-level errors (e.g., insufficient funds) by marking them as non-retryable and implementing backward recovery. The post also introduces the use of `NewNonRetryableApplicationError` and provides pseudocode for a recovery mechanism.