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

[Support] Can invocations be retried? #1335

Closed
ontehfritz opened this issue Oct 4, 2019 · 6 comments
Closed

[Support] Can invocations be retried? #1335

ontehfritz opened this issue Oct 4, 2019 · 6 comments

Comments

@ontehfritz
Copy link

This is more specific to functions that have been triggered from events (e.g. kafka events), it would be great to specify retries and back-off strategies, and to further the feature, be able to retry functions with the payload that failed; after retries have been exhausted, manually.

This is important in situations where you received the event, but processing failed inside of the function being executed because a resource it was posting to was unavailable for multiple reasons, rate limited, intermittent down time etc etc ..., it gets really tricky to resubmit the event itself, because the amount of actors on the event can be N, and would re-trigger, even if you do your best to make event processing idempotent, it makes things complicated.

It would be best to just retry the function with the payload it received from the event. This would also be cool, if there was a bug or change of logic in the same function and needed to redeploy and run again.

@Miserlou
Copy link

Miserlou commented Oct 4, 2019

Big +1, this would be a great feature. Would this be a new header? X-Retry-Strategy: Exponential, X-Num-Retries: 5 (with a default maximum to prevent ddos), etc?

@alexellis
Copy link
Member

/set title: [Support] Can invocations be retried?

@derek derek bot changed the title [Feature Request] Resilient functions [Support] Can invocations be retried? Oct 6, 2019
@alexellis
Copy link
Member

Thanks for logging your suggestion.

Retries for invocations can be achieved through a "retry budget" with Linkerd, or through your choice of ingress controller such as Heptio Contour.

As regards the event-connector pattern, let's move the discussion over to the conenctor-sdk repo: openfaas/connector-sdk#28

Thanks again and feel free to search past issues or to ask on Slack before logging additional issues, we find this helps keep the signal to noise ratio lower.

Alex

@alexellis
Copy link
Member

Please also make use of the issue template for any further issues 👍

@alexellis
Copy link
Member

/msg: slack

@derek
Copy link

derek bot commented Oct 6, 2019

--
Join Slack to connect with the community
https://docs.openfaas.com/community

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants