重构: 各类型 Controller 接口精简,配合 framework-v2 internal/handler 收拢公共实现

app.go/condflow.go/cron.go/event_stream.go/executor.go/gobridge.go/grpc.go/job.go/mcp.go/mqtt.go/res_virtual_table.go/ws.go/controller.go/support/service.go 精简掉搬到 framework-v2 internal/handler 里的公共默认实现,只保留接口定义。
This commit is contained in:
2026-07-22 09:14:57 +08:00
parent e14aee1498
commit 8b122816a1
14 changed files with 96 additions and 312 deletions
+11 -5
View File
@@ -13,12 +13,18 @@ type Job interface {
Controller
// 任务处理
Handle(any, req.User) error
// OnExceeded 重试次数耗尽时由框架回调,用于清理状态。默认实现为空操作。
OnExceeded(any, req.User) error
}
type JobBase struct {
Controller
// NoRetryError 表示不可重试的错误,job 返回此类型后框架立即标记为 exceeded,不再调度重试。
type NoRetryError struct {
Err error
}
func (JobBase) Handle(any, req.User) error {
return nil
}
func (e *NoRetryError) Error() string { return e.Err.Error() }
func (e *NoRetryError) Unwrap() error { return e.Err }
// ErrNoRetry 将 err 包装为不可重试错误,job handler 使用此函数终止重试。
func ErrNoRetry(err error) error { return &NoRetryError{Err: err} }