Scert/backend/internal/repository/task_context.go
xuans 4cf9fb6076 接入证书任务取消上下文
为证书导入、恢复、校验和当前部署工作流绑定任务取消回调,补充取消接口与回归测试,并同步四份整改清单进度。
2026-09-30 02:32:58 +08:00

23 lines
670 B
Go

package repository
import "context"
type TaskCancellationHooks struct {
Register func(string, context.CancelFunc)
Unregister func(string)
}
type taskCancellationHooksContextKey struct{}
func WithTaskCancellationHooks(ctx context.Context, hooks TaskCancellationHooks) context.Context {
return context.WithValue(ctx, taskCancellationHooksContextKey{}, hooks)
}
func TaskCancellationHooksFromContext(ctx context.Context) (TaskCancellationHooks, bool) {
hooks, ok := ctx.Value(taskCancellationHooksContextKey{}).(TaskCancellationHooks)
if !ok || hooks.Register == nil || hooks.Unregister == nil {
return TaskCancellationHooks{}, false
}
return hooks, true
}