-
Notifications
You must be signed in to change notification settings - Fork 11
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
Handle errors in a sane way #14
Comments
This was fixed in release v0.1.4 Also my quick patch to fix the infinite loop introduced a bug
|
Given how critical it is to not fail on responding to hooks we should consider separating out hook ingestion to be standalone. This would guard against bugs/issues with the actual runner vs hook ingestion. |
@davidwin93 I thought this too and started to split it out a few weeks ago, but shelved it while we worked on open sourcing. I can revisit this now. |
Our current error handling should be improved to handle failures more gracefully. We currently retry failed attempts endlessly and we also endlessly retry Gitlab operations (update comment, etc...) . Adding some backoff with a max attempts would be a good start. We could also augment our Queue messages to maintain a count of attempts to prevent endless retries.
For NATS we could use some combo of these to manage message delivery:
https://pkg.go.dev/github.com/nats-io/nats.go#MaxDeliver
https://pkg.go.dev/github.com/nats-io/nats.go#Msg.Term
https://pkg.go.dev/github.com/nats-io/nats.go#Msg.Metadata
@sl1pm4t pointed to this https://choria.io/blog/post/2020/04/03/nats_patterns_9/ under Redelivery as a way of handling these types of messages.
The text was updated successfully, but these errors were encountered: