In order to retry async functions, a new decorator is needed `@async_retry` so that the retry awaits the function.