diff --git a/internal/app/run/runner.go b/internal/app/run/runner.go index 7a7dfb8..6e31373 100644 --- a/internal/app/run/runner.go +++ b/internal/app/run/runner.go @@ -94,7 +94,13 @@ func (r *Runner) Run(ctx context.Context, task *runnerv1.Task) error { return nil } -func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.Reporter) error { +func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.Reporter) (err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("panic: %v", r) + } + }() + reporter.Logf("%s(version:%s) received task %v of job %v, be triggered by event: %s", r.name, ver.Version(), task.Id, task.Context.Fields["job"].GetStringValue(), task.Context.Fields["event_name"].GetStringValue()) workflow, err := model.ReadWorkflow(bytes.NewReader(task.WorkflowPayload))