重构: 各类型 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:
@@ -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} }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user