Documentation ¶
Index ¶
- Constants
- func GetKeyPre(serviceName string) string
- func GetNodeId(serviceName string) string
- func TimePre(t time.Time, preDuration time.Duration) int64
- type DriverV2
- type EtcdDriver
- func (e *EtcdDriver) GetNodes(ctx context.Context) (nodes []string, err error)
- func (e *EtcdDriver) Init(serverName string, opts ...Option)
- func (e *EtcdDriver) NodeID() string
- func (e *EtcdDriver) Start(ctx context.Context) (err error)
- func (e *EtcdDriver) Stop(ctx context.Context) (err error)
- func (e *EtcdDriver) WithOption(opt Option) (err error)
- type LoggerOption
- type Option
- type RedisDriver
- func (rd *RedisDriver) GetNodes(ctx context.Context) (nodes []string, err error)
- func (rd *RedisDriver) Init(serviceName string, opts ...Option)
- func (rd *RedisDriver) NodeID() string
- func (rd *RedisDriver) Start(ctx context.Context) (err error)
- func (rd *RedisDriver) Stop(ctx context.Context) (err error)
- func (rd *RedisDriver) WithOption(opt Option) (err error)
- type RedisZSetDriver
- func (rd *RedisZSetDriver) GetNodes(ctx context.Context) (nodes []string, err error)
- func (rd *RedisZSetDriver) Init(serviceName string, opts ...Option)
- func (rd *RedisZSetDriver) NodeID() string
- func (rd *RedisZSetDriver) Start(ctx context.Context) (err error)
- func (rd *RedisZSetDriver) Stop(ctx context.Context) (err error)
- func (rd *RedisZSetDriver) WithOption(opt Option) (err error)
- type TimeoutOption
Constants ¶
View Source
const ( OptionTypeTimeout = 0x600 OptionTypeLogger = 0x601 )
View Source
const GlobalKeyPrefix = "distributed-cron:"
GlobalKeyPrefix is a global redis key prefix
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DriverV2 ¶ added in v0.5.0
type DriverV2 interface { // init driver Init(serviceName string, opts ...Option) // get nodeID NodeID() string // get nodes GetNodes(ctx context.Context) (nodes []string, err error) // register node to remote server (like etcd/redis), // will create a goroutine to keep the connection. // And then continue for other work. Start(ctx context.Context) (err error) // stop the goroutine of keep connection. Stop(ctx context.Context) (err error) WithOption(opt Option) (err error) }
There is only one driver for one dcron. Tips for write a user-defined Driver by yourself.
- Confirm that `Stop` and `Start` can be called for more times.
- Must make `GetNodes` will return error when timeout.
func NewEtcdDriver ¶ added in v0.5.0
func NewRedisDriver ¶ added in v0.5.0
func NewRedisDriver(redisClient redis.UniversalClient) DriverV2
func NewRedisZSetDriver ¶ added in v0.5.0
func NewRedisZSetDriver(redisClient redis.UniversalClient) DriverV2
type EtcdDriver ¶ added in v0.5.0
type EtcdDriver struct {
// contains filtered or unexported fields
}
func (*EtcdDriver) GetNodes ¶ added in v0.5.0
func (e *EtcdDriver) GetNodes(ctx context.Context) (nodes []string, err error)
func (*EtcdDriver) Init ¶ added in v0.5.0
func (e *EtcdDriver) Init(serverName string, opts ...Option)
func (*EtcdDriver) NodeID ¶ added in v0.5.0
func (e *EtcdDriver) NodeID() string
func (*EtcdDriver) Start ¶ added in v0.5.0
func (e *EtcdDriver) Start(ctx context.Context) (err error)
func (*EtcdDriver) Stop ¶ added in v0.5.0
func (e *EtcdDriver) Stop(ctx context.Context) (err error)
func (*EtcdDriver) WithOption ¶ added in v0.5.6
func (e *EtcdDriver) WithOption(opt Option) (err error)
type LoggerOption ¶ added in v0.5.0
type LoggerOption struct {
// contains filtered or unexported fields
}
func NewLoggerOption ¶ added in v0.5.0
func NewLoggerOption(logger dlog.Logger) LoggerOption
func (LoggerOption) Type ¶ added in v0.5.0
func (to LoggerOption) Type() int
type RedisDriver ¶ added in v0.5.0
func (*RedisDriver) GetNodes ¶ added in v0.5.0
func (rd *RedisDriver) GetNodes(ctx context.Context) (nodes []string, err error)
func (*RedisDriver) Init ¶ added in v0.5.0
func (rd *RedisDriver) Init(serviceName string, opts ...Option)
func (*RedisDriver) NodeID ¶ added in v0.5.0
func (rd *RedisDriver) NodeID() string
func (*RedisDriver) Start ¶ added in v0.5.0
func (rd *RedisDriver) Start(ctx context.Context) (err error)
func (*RedisDriver) Stop ¶ added in v0.5.0
func (rd *RedisDriver) Stop(ctx context.Context) (err error)
func (*RedisDriver) WithOption ¶ added in v0.5.6
func (rd *RedisDriver) WithOption(opt Option) (err error)
type RedisZSetDriver ¶ added in v0.5.0
func (*RedisZSetDriver) GetNodes ¶ added in v0.5.0
func (rd *RedisZSetDriver) GetNodes(ctx context.Context) (nodes []string, err error)
func (*RedisZSetDriver) Init ¶ added in v0.5.0
func (rd *RedisZSetDriver) Init(serviceName string, opts ...Option)
func (*RedisZSetDriver) NodeID ¶ added in v0.5.0
func (rd *RedisZSetDriver) NodeID() string
func (*RedisZSetDriver) Start ¶ added in v0.5.0
func (rd *RedisZSetDriver) Start(ctx context.Context) (err error)
func (*RedisZSetDriver) Stop ¶ added in v0.5.0
func (rd *RedisZSetDriver) Stop(ctx context.Context) (err error)
func (*RedisZSetDriver) WithOption ¶ added in v0.5.6
func (rd *RedisZSetDriver) WithOption(opt Option) (err error)
type TimeoutOption ¶ added in v0.5.0
type TimeoutOption struct {
// contains filtered or unexported fields
}
func NewTimeoutOption ¶ added in v0.5.0
func NewTimeoutOption(timeout time.Duration) TimeoutOption
func (TimeoutOption) Type ¶ added in v0.5.0
func (to TimeoutOption) Type() int
Source Files ¶
Click to show internal directories.
Click to hide internal directories.