Documentation ¶
Index ¶
- Constants
- Variables
- func NewError(msg string) error
- func NewErrorFmt(format string, args ...interface{}) error
- func SetQueue(q Queue) func(*Pool)
- func SetWorkers(n int) func(*Pool)
- func StructType(v interface{}) (string, error)
- type Airbrake
- type Args
- type BeanstalkQueue
- type Envelope
- type Error
- type Factory
- type Handler
- type HandlerFunc
- type Job
- type JobRunner
- type Logger
- type MemoryQueue
- type Message
- type Payload
- type Pool
- type Priority
- type Queue
- type Recovery
- type Runner
- type StatusWriter
Constants ¶
const ( BeanstalkHost = "localhost" // Beanstalk default host. BeanstalkPort = "11300" // Beanstalk default port. BeanstalkTube = "default" // Beanstalk default queue. BeanstalkPrio = 100 // Beanstalk default job priority. )
const (
DefaultWorkersCount = 10
)
Variables ¶
var ( BeanstalkTimeout time.Duration = 1 * time.Second // Beanstalk reserve timeout. BeanstalkTTR time.Duration = 2 * DefaultTTR // Beanstalk default TTR (time to run). )
var (
DefaultTTR time.Duration = 10 * time.Minute
)
Functions ¶
func NewErrorFmt ¶
func StructType ¶
Types ¶
type Airbrake ¶
func NewAirbrake ¶
type BeanstalkQueue ¶
type BeanstalkQueue struct { Host string // Beanstalk host. Port string // Beanstalk port. Name string // Beanstalk tube name. Prio uint32 // Beanstalk priority. TTR time.Duration // Beanstalk time to run. // contains filtered or unexported fields }
BeanstalkQueue represents a Beanstalk queue.
func (*BeanstalkQueue) Delete ¶
func (q *BeanstalkQueue) Delete(m Message) error
Delete deletes a job from the queue.
func (*BeanstalkQueue) Get ¶
func (q *BeanstalkQueue) Get() (Message, error)
Get peeks a job from the queue.
func (*BeanstalkQueue) Put ¶
func (q *BeanstalkQueue) Put(j Job) error
Put puts the job in the queue.
func (*BeanstalkQueue) Reject ¶
func (q *BeanstalkQueue) Reject(m Message) error
Reject rejects the job marking it as failed.
type Envelope ¶
type Envelope struct {
// contains filtered or unexported fields
}
func NewEnvelope ¶
type Handler ¶
type Handler interface {
Exec(sw StatusWriter, fact string, args *Args, next JobRunner)
}
func AirbreakStack ¶
AirbrakeStack is used to configure default middleware using Airbrake error tracking service (middlewares: Airbreak, Logger).
func CommonStack ¶
func CommonStack() []Handler
CommonStack is used to configure default middleware that's common for most applications (middlewares: Recovery, Logger).
type HandlerFunc ¶
type HandlerFunc func(sw StatusWriter, fact string, args *Args, next JobRunner)
func (HandlerFunc) Exec ¶
func (h HandlerFunc) Exec(sw StatusWriter, fact string, args *Args, next JobRunner)
type JobRunner ¶
type JobRunner func(sw StatusWriter, fact string, args *Args)
type MemoryQueue ¶
MemoryQueue represents an ordered queue, this queue is used mainly for unit tests.
func (*MemoryQueue) Delete ¶
func (q *MemoryQueue) Delete(msg Message) error
func (*MemoryQueue) Get ¶
func (q *MemoryQueue) Get() (Message, error)
func (*MemoryQueue) Put ¶
func (q *MemoryQueue) Put(j Job) error
func (*MemoryQueue) Reject ¶
func (q *MemoryQueue) Reject(msg Message) error
type Payload ¶
type Payload struct { Type string `json:"type"` Args interface{} `json:"args"` }
Payload represents a queue message payload.
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
Pool represents a pool of workers connected to a queue.
func (*Pool) Exec ¶
func (p *Pool) Exec(sw StatusWriter, fact string, args *Args)
Exec runs the job passing it through the middleware stack.
type Queue ¶
type Queue interface { Put(Job) error Get() (Message, error) Delete(Message) error Reject(Message) error Size() (uint64, uint64, error) }
func NewBeanstalkQueue ¶
func NewBeanstalkQueue(opts ...func(*BeanstalkQueue)) (Queue, error)
NewBeanstalkQueue returns a queue instance using custom options.
func NewMemoryQueue ¶
func NewMemoryQueue() Queue
type Recovery ¶
func NewRecovery ¶
func NewRecovery() *Recovery
type StatusWriter ¶
func NewStatusWriter ¶
func NewStatusWriter() StatusWriter