esyncdao

package
v0.0.0-...-5c89f79 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EventDefaultTableName = "esync_event_default"

Functions

func InitDao

func InitDao()

func InitStorage

func InitStorage()

Types

type EsyncEventDefaultDao

type EsyncEventDefaultDao struct {
	ID           int64     `gorm:"column:id;primaryKey" structs:"id" json:"id"`
	EventDate    int       `gorm:"column:event_date" structs:"event_date" json:"event_date"`
	EventType    string    `gorm:"column:event_type" structs:"event_type" json:"event_type"`
	UniqKey      string    `gorm:"column:uniq_key" structs:"uniq_key" json:"uniq_key"`
	UniqKeyCRC32 int64     `gorm:"column:uniq_key_crc32" structs:"uniq_key_crc32" json:"uniq_key_crc32"`
	EventOption  string    `gorm:"column:event_option" structs:"event_option" json:"event_option"`
	EventData    string    `gorm:"column:event_data" structs:"event_data" json:"event_data"`
	EStatus      int       `gorm:"column:e_status" structs:"e_status" json:"e_status"`
	HandlerInfo  string    `gorm:"column:handler_info" structs:"handler_info" json:"handler_info"`
	CreatedAt    time.Time `gorm:"column:created_at" structs:"created_at" json:"created_at"`
	UpdatedAt    time.Time `gorm:"column:updated_at" structs:"updated_at" json:"updated_at"`
	// contains filtered or unexported fields
}

func NewEsyncEventDefaultDao

func NewEsyncEventDefaultDao(ctx context.Context,
	myDao *EsyncEventDefaultDao, readOnly bool, options ...daoongorm.Option) (*EsyncEventDefaultDao, error)

func NewEsyncEventDefaultDaoWithTX

func NewEsyncEventDefaultDaoWithTX(ctx context.Context,
	myDao *EsyncEventDefaultDao, tx daoongorm.DBClientInterface, options ...daoongorm.Option) (*EsyncEventDefaultDao, error)

支持事务

func (*EsyncEventDefaultDao) DBClient

func (*EsyncEventDefaultDao) DBName

func (myDao *EsyncEventDefaultDao) DBName() string

func (*EsyncEventDefaultDao) GetDaoBase

func (myDao *EsyncEventDefaultDao) GetDaoBase() *daoongorm.DaoBase

func (*EsyncEventDefaultDao) GetEventOption

func (myDao *EsyncEventDefaultDao) GetEventOption() (*EventOption, error)

func (*EsyncEventDefaultDao) GetHandlerInfo

func (myDao *EsyncEventDefaultDao) GetHandlerInfo() (*HandlerInfo, error)

func (*EsyncEventDefaultDao) GetNextRetryDelayDuration

func (myDao *EsyncEventDefaultDao) GetNextRetryDelayDuration() time.Duration

获取下一次重试的delay 时间

func (*EsyncEventDefaultDao) GetSucceedHandlerMap

func (myDao *EsyncEventDefaultDao) GetSucceedHandlerMap() map[string]bool

func (*EsyncEventDefaultDao) GetTimerKey

func (myDao *EsyncEventDefaultDao) GetTimerKey() interface{}

添加到时间轮上task 的key

func (*EsyncEventDefaultDao) IsCanRunNow

func (myDao *EsyncEventDefaultDao) IsCanRunNow() bool

事件当前时间能否执行

func (*EsyncEventDefaultDao) SetDaoBase

func (myDao *EsyncEventDefaultDao) SetDaoBase(myDaoBase *daoongorm.DaoBase)

func (*EsyncEventDefaultDao) SetEventOption

func (myDao *EsyncEventDefaultDao) SetEventOption(option *EventOption)

func (*EsyncEventDefaultDao) SetHandlerInfo

func (myDao *EsyncEventDefaultDao) SetHandlerInfo(handlerInfo *HandlerInfo)

func (*EsyncEventDefaultDao) TableName

func (myDao *EsyncEventDefaultDao) TableName() string

type EventOption

type EventOption struct {
	DelaySeconds    []int `json:"delay_seconds"`     // 延迟执行的秒数 [5, 15, 45]:第5秒开始执行,如失败15,45秒重试
	MaxRunNum       int   `json:"max_run_num"`       // 最多执行的次数
	StartAt         int64 `json:"start_at"`          // 能开始执行的时间戳
	MaxAliveSeconds int   `json:"max_alive_seconds"` // 最大存活的时间
	Persistent      bool  `json:"persistent"`        // 是否持久化, true false
}

事件的option

type HandlerInfo

type HandlerInfo struct {
	FailCount       int      `json:"fail_count"`
	RunTS           []int64  `json:"run_ts"`           // 执行的时间戳
	SucceedHandlers []string `json:"succeed_handlers"` // 已成功的handlers
}

handler处理的结果

func (*HandlerInfo) GetSucceedHandlerMap

func (hi *HandlerInfo) GetSucceedHandlerMap() map[string]bool

type Storage

type Storage struct {
	// contains filtered or unexported fields
}

func GetStorage

func GetStorage() *Storage

func (*Storage) GetMysqlClient

func (s *Storage) GetMysqlClient() *daoongorm.DBClient

func (*Storage) GetRedisPool

func (s *Storage) GetRedisPool() *redis.Pool

Jump to

Keyboard shortcuts

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