plugin

package
v0.1.27 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const Name = "plugin"

Variables

This section is empty.

Functions

func Register

func Register(pg Plugin, priority ...uint)

Register 插件注册

priority: 优先级

func RegisterMiddleware added in v0.1.26

func RegisterMiddleware(name string, middleware Middleware, priority ...uint)

RegisterMiddleware 简化Register的注册方法

func RegisterProcess added in v0.1.26

func RegisterProcess(name string, p func(p Process), priority ...uint)

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) AfterStop

func (p *Base) AfterStop(fn 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) Commands

func (p *Base) Commands() *cli.Command

func (*Base) Flags

func (p *Base) Flags() typex.Flags

func (*Base) Health

func (p *Base) Health() healthy.Handler

func (*Base) ID added in v0.1.26

func (p *Base) ID() string

func (*Base) Init

func (p *Base) Init(cfg config.Config) (gErr error)

func (*Base) MarshalJSON

func (p *Base) MarshalJSON() ([]byte, error)

func (*Base) Middleware

func (p *Base) Middleware() Middleware

func (*Base) String

func (p *Base) String() string

func (*Base) Vars

func (p *Base) Vars(f vars.Publisher) error

func (*Base) Watch

func (p *Base) Watch(name string, r *watcher.Response) error

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()
}

func All

func All() []Plugin

All 获取所有的插件

type Process

type Process interface {
	BeforeStart(fn func())
	AfterStart(fn func())
	BeforeStop(fn func())
	AfterStop(fn func())
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL