Source File
locker.go
Belonging Package
github.com/go-co-op/gocron
package gocronimport ()var (ErrFailedToConnectToRedis = errors.New("gocron: failed to connect to redis")ErrFailedToObtainLock = errors.New("gocron: failed to obtain lock")ErrFailedToReleaseLock = errors.New("gocron: failed to release lock"))// Locker represents the required interface to lock jobs when running multiple schedulers.type Locker interface {// Lock if an error is returned by lock, the job will not be scheduled.Lock(ctx context.Context, key string) (Lock, error)}// Lock represents an obtained locktype Lock interface {Unlock(ctx context.Context) error}// Elector determines the leader from instances asking to be the leader. Only// the leader runs jobs. If the leader goes down, a new leader will be elected.type Elector interface {// IsLeader should return an error if the job should not be scheduled and nil if the job should be scheduled.IsLeader(ctx context.Context) error}
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |