Versions in this module Expand all Collapse all v0 v0.10.5 Nov 23, 2021 Changes in this version + const DefaultRetryMax + const NanoSecondPrecision + const RetryTimeFormat + var Logger = log.New(os.Stdout, "go-workers2: ", log.Ldate | log.Lmicroseconds) + func ConfigureAPIServer(options APIOptions) + func RegisterAPIEndpoints(mux *http.ServeMux) + func StartAPIServer(port int) + func StopAPIServer() + type APIOptions struct + Logger *log.Logger + Mux *http.ServeMux + type Args struct + func (d Args) Equals(other interface{}) bool + func (d Args) ToJson() string + type EnqueueData struct + Args interface{} + Class string + EnqueuedAt float64 + Jid string + Queue string + type EnqueueOptions struct + At float64 + Retry bool + RetryCount int + RetryMax int + type Fetcher interface + Acknowledge func(*Msg) + Close func() + Closed func() bool + Fetch func() + Messages func() chan *Msg + Queue func() string + Ready func() chan bool + type JobFunc func(message *Msg) error + func LogMiddleware(queue string, mgr *Manager, next JobFunc) JobFunc + func NopMiddleware(queue string, mgr *Manager, final JobFunc) JobFunc + func RetryMiddleware(queue string, mgr *Manager, next JobFunc) JobFunc + func StatsMiddleware(queue string, mgr *Manager, next JobFunc) JobFunc + type JobStatus struct + Message *Msg + StartedAt int64 + type Manager struct + func NewManager(options Options) (*Manager, error) + func NewManagerWithRedisClient(options Options, client *redis.Client) (*Manager, error) + func (m *Manager) AddBeforeStartHooks(hooks ...func()) + func (m *Manager) AddDuringDrainHooks(hooks ...func()) + func (m *Manager) AddRetriesExhaustedHandlers(handlers ...RetriesExhaustedFunc) + func (m *Manager) AddWorker(queue string, concurrency int, job JobFunc, mids ...MiddlewareFunc) + func (m *Manager) GetRedisClient() *redis.Client + func (m *Manager) GetRetries(page uint64, pageSize int64, match string) (Retries, error) + func (m *Manager) GetStats() (Stats, error) + func (m *Manager) Producer() *Producer + func (m *Manager) Run() + func (m *Manager) SetRetriesExhaustedHandlers(handlers ...RetriesExhaustedFunc) + func (m *Manager) Stop() + type MiddlewareFunc func(queue string, m *Manager, next JobFunc) JobFunc + type Middlewares []MiddlewareFunc + func DefaultMiddlewares() Middlewares + func NewMiddlewares(mids ...MiddlewareFunc) Middlewares + func (m Middlewares) Append(mid MiddlewareFunc) Middlewares + func (m Middlewares) Prepend(mid MiddlewareFunc) Middlewares + type Msg struct + func NewMsg(content string) (*Msg, error) + func (d Msg) Equals(other interface{}) bool + func (d Msg) ToJson() string + func (m *Msg) Args() *Args + func (m *Msg) Class() string + func (m *Msg) Jid() string + func (m *Msg) OriginalJson() string + type Options struct + Database int + Logger *log.Logger + ManagerDisplayName string + Namespace string + Password string + PollInterval time.Duration + PoolSize int + ProcessID string + RedisMasterName string + RedisTLSConfig *tls.Config + SentinelAddrs string + ServerAddr string + type Producer struct + func NewProducer(options Options) (*Producer, error) + func NewProducerWithRedisClient(options Options, client *redis.Client) (*Producer, error) + func (p *Producer) Enqueue(queue, class string, args interface{}) (string, error) + func (p *Producer) EnqueueAt(queue, class string, at time.Time, args interface{}) (string, error) + func (p *Producer) EnqueueIn(queue, class string, in float64, args interface{}) (string, error) + func (p *Producer) EnqueueWithOptions(queue, class string, args interface{}, opts EnqueueOptions) (string, error) + func (p *Producer) GetRedisClient() *redis.Client + type Retries struct + RetryJobs []*Msg + TotalRetryCount int64 + type RetriesExhaustedFunc func(queue string, message *Msg, err error) + type Stats struct + Enqueued map[string]int64 + Failed int64 + Jobs map[string][]JobStatus + Name string + Processed int64 + RetryCount int64