clj-commons / manifold

A compatibility layer for event-driven abstractions
1.02k stars 108 forks source link

Retry Logic #71

Closed derwolfe closed 8 years ago

derwolfe commented 8 years ago

I've recently written some retry logic using manifold.deferred and manifold.time that uses exponential back off to retry asynchronous operations. The current implementation is available here and its tests are here.

Do you think this is something that you might like to integrate into manifold? If so, I'd be happy to open up and work on a PR.

ztellman commented 8 years ago

My knee-jerk reaction is that it's hard to create a "one true retry strategy" mechanism, and so I'd prefer to leave it as an implementation detail in applications. If you strongly disagree, though, I'm willing to discuss it further.

derwolfe commented 8 years ago

I'm inclined to agree with you regarding the "one true retry strategy". My main reason for suggesting was that it might form a helpful base for others. That being said, a blog post showing how the logic was implemented might be more helpful :smile:. Thanks!