Documentation
¶
Index ¶
- Constants
- func Register(pg Plugin, priority ...uint)
- func RegisterMiddleware(name string, middleware Middleware, priority ...uint)
- func RegisterProcess(name string, p func(p Process), priority ...uint)
- func RegisterResource(name string, builder resource.BuilderFactory, priority ...uint)
- type Base
- func (p *Base) AfterStart(fn func())
- func (p *Base) AfterStarts() []func()
- func (p *Base) AfterStop(fn func())
- func (p *Base) AfterStops() []func()
- func (p *Base) BeforeStart(fn func())
- func (p *Base) BeforeStarts() []func()
- func (p *Base) BeforeStop(fn func())
- func (p *Base) BeforeStops() []func()
- func (p *Base) Commands() *cli.Command
- func (p *Base) Flags() typex.Flags
- func (p *Base) Health() healthy.Handler
- func (p *Base) ID() string
- func (p *Base) Init(cfg config.Config) (gErr error)
- func (p *Base) MarshalJSON() ([]byte, error)
- func (p *Base) Middleware() Middleware
- func (p *Base) String() string
- func (p *Base) Vars(f vars.Publisher) error
- func (p *Base) Watch(name string, r *watcher.Response) error
- type Middleware
- type Plugin
- type Process
Constants ¶
View Source
const Name = "plugin"
Variables ¶
This section is empty.
Functions ¶
func RegisterMiddleware ¶ added in v0.1.26
func RegisterMiddleware(name string, middleware Middleware, priority ...uint)
RegisterMiddleware 简化Register的注册方法
func RegisterProcess ¶ added in v0.1.26
RegisterProcess process注册
func RegisterResource ¶ added in v0.1.26
func RegisterResource(name string, builder resource.BuilderFactory, priority ...uint)
RegisterResource 构建资源
Types ¶
type Base ¶
type Base struct {
Name string
Short string
Url string
Docs interface{}
CfgNotCheck bool
BuilderFactory resource.BuilderFactory
OnHealth healthy.Handler
OnMiddleware Middleware
OnInit func(p Process)
OnCommands func() *typex.Command
OnFlags func() typex.Flags
OnWatch watcher.WatchHandler
OnVars func(v vars.Publisher)
// contains filtered or unexported fields
}
func (*Base) AfterStart ¶
func (p *Base) AfterStart(fn func())
func (*Base) AfterStarts ¶
func (p *Base) AfterStarts() []func()
func (*Base) AfterStops ¶
func (p *Base) AfterStops() []func()
func (*Base) BeforeStart ¶
func (p *Base) BeforeStart(fn func())
func (*Base) BeforeStarts ¶
func (p *Base) BeforeStarts() []func()
func (*Base) BeforeStop ¶
func (p *Base) BeforeStop(fn func())
func (*Base) BeforeStops ¶
func (p *Base) BeforeStops() []func()
func (*Base) MarshalJSON ¶
func (*Base) Middleware ¶
func (p *Base) Middleware() Middleware
type Middleware ¶
type Middleware = service_inter.Middleware
type Plugin ¶
type Plugin interface {
json.Marshaler
// String 插件描述
String() string
// ID 插件唯一名字
ID() string
// Flags 插件启动flags
Flags() typex.Flags
// Commands 插件启动子命令
Commands() *typex.Command
// Init 插件初始化
Init(cfg config.Config) error
// Watch 配置变更通知
Watch(name string, r *watcher.Response) error
// Vars 插件可观测指标
Vars(vars.Publisher) error
// Health 插件健康检查
Health() healthy.Handler
// Middleware 插件中间件拦截器
Middleware() Middleware
// BeforeStarts 在服务启动之前执行操作
// 初始化, 检查, 注册, 上报等
BeforeStarts() []func()
// AfterStarts 在服务启动之后执行操作
// 服务检查, 上报等
AfterStarts() []func()
// BeforeStops 在服务关闭之前执行操作
// 关闭服务, 资源关闭等
BeforeStops() []func()
// AfterStops 在服务关闭之后执行操作
// 关闭服务, 资源关闭等
AfterStops() []func()
}
Click to show internal directories.
Click to hide internal directories.