microsoft / durabletask-java

Java SDK for Durable Functions and the Durable Task Framework
MIT License
13 stars 7 forks source link

Added support for retry policies #23

Closed cgillum closed 2 years ago

cgillum commented 2 years ago

This PR covers the first two bullets of https://github.com/microsoft/durabletask-java/issues/18: task options and declarative retry policies.

Summary of changes:

Much of the design is inspired by the retry work I recently did for .NET Isolated: https://github.com/microsoft/durabletask-dotnet/pull/6.

Special thanks to @davidmrdavid for helping me figure out (without him knowing it) how to design retries in a language that doesn't support async/await. I borrowed the strategy for implementing retry policies from the Durable JS codebase.

After this PR gets merged, I plan to work on imperative retry policies, implemented in code.

davidmrdavid commented 2 years ago

My favorite help is that which occurs without me knowing :P . Glad to hear the JS approach was useful. Looking into the PR now