Documentation ¶
Overview ¶
Package dontpanic provides function wrappers and supervisors to ensure that wrapped code does not panic and cause program crashes.
When should you use this package? Anytime you are running a function or goroutine where it isn't obvious whether it can or can't panic. This may be a higher risk in long running goroutines and functions or ones that are difficult to test completely.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Go ¶
func Go(fn func())
Go will run the provided function in a goroutine and recover from any panics. If a panic occurs, the recovered panic will be sent to Sentry and logged as an error. Go is best used in fire-and-forget goroutines where observability is lost.
func GoForever ¶
GoForever will keep retrying a function fn in a goroutine forever in the background (until the process exits) while recovering from panics. Each time a closure panics, the recovered value will be sent to Sentry and logged at level error. The provided backoff will delay retries to enable "breathing" room to prevent potentially worsening the situation.
Types ¶
This section is empty.