feat: 自动清理终态 Pod 执行器
This commit is contained in:
@@ -57,7 +57,7 @@ type Facade struct {
|
||||
Registry *Registry
|
||||
Capabilities Capabilities
|
||||
Upstream Upstream
|
||||
OnTerminal func(taskassignment.Assignment)
|
||||
OnTerminal func(context.Context, taskassignment.Assignment) error
|
||||
}
|
||||
|
||||
func (f *Facade) Handler() (string, http.Handler) {
|
||||
@@ -101,7 +101,9 @@ func (f *Facade) UpdateTask(ctx context.Context, request *connect.Request[runner
|
||||
}
|
||||
response, err := f.Upstream.UpdateTask(ctx, connect.NewRequest(request.Msg))
|
||||
if err == nil && request.Msg.GetState().GetResult() != runnerv1.Result_RESULT_UNSPECIFIED && f.OnTerminal != nil {
|
||||
f.OnTerminal(assignment)
|
||||
if terminalErr := f.OnTerminal(ctx, assignment); terminalErr != nil {
|
||||
return nil, connect.NewError(connect.CodeUnavailable, terminalErr)
|
||||
}
|
||||
}
|
||||
return response, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user