Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

retry and timeout #188

Closed
kailuowang opened this issue Dec 19, 2016 · 3 comments
Closed

retry and timeout #188

kailuowang opened this issue Dec 19, 2016 · 3 comments

Comments

@kailuowang
Copy link
Member

Two decisions:

  1. shall we really allow retry when backend service return failure? (leaning towards no)
  2. shall we allow retry when timeout? (leaning towards yes)
@ngbinh
Copy link

ngbinh commented Dec 20, 2016

Maybe exposing something like

def shouldRetry(error: Throwable): Boolean

to let the application decide what to do? It may also return something that can dictates how to retry

@kailuowang
Copy link
Member Author

@ngbinh yeah a plugable retry policy would be nice. or we can bake this into the new handler API, so that the service (or service adaptor) can determine the retry policy.

@kailuowang
Copy link
Member Author

kailuowang commented Jan 25, 2017

I think we it's easy to implement two policies.

  1. at least once (with an optional expiration)
  2. at most once (or try once).

And for at least once to work we need to wrap the work in Queue to contain information about expiration time. Also we should try deliver to a different handler if possible.

@kailuowang kailuowang moved this from Ready to In Dev in 0.5.0 Jan 27, 2017
@kailuowang kailuowang mentioned this issue Mar 9, 2017
@kailuowang kailuowang moved this from In Dev to Done in 0.5.0 Mar 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
0.5.0
Done
Development

No branches or pull requests

2 participants