MCPcopy Create free account
hub / github.com/DoNewsCode/core / Recover

Function Recover

cron/options.go:144–156  ·  view source on GitHub ↗

Recover returns a new JobDescriptor that will recover from panics.

(logger log.Logger)

Source from the content-addressed store, hash-verified

142
143// Recover returns a new JobDescriptor that will recover from panics.
144func Recover(logger log.Logger) JobOption {
145 return func(descriptor *JobDescriptor) {
146 innerRun := descriptor.Run
147 descriptor.Run = func(ctx context.Context) error {
148 defer func() {
149 if r := recover(); r != nil {
150 logging.WithContext(logger, ctx).Log("msg", "job panicked", "err", r, "stack", debug.Stack())
151 }
152 }()
153 return innerRun(ctx)
154 }
155 }
156}

Callers 1

TestJobOptionFunction · 0.85

Calls 2

WithContextFunction · 0.92
LogMethod · 0.80

Tested by 1

TestJobOptionFunction · 0.68