Documentation ¶
Index ¶
- Constants
- type Configurer
- type Driver
- func (d *Driver) Pause(ctx context.Context, p string) error
- func (d *Driver) Push(ctx context.Context, job jobs.Message) error
- func (d *Driver) Resume(ctx context.Context, p string) error
- func (d *Driver) Run(ctx context.Context, p jobs.Pipeline) error
- func (d *Driver) State(ctx context.Context) (*jobs.State, error)
- func (d *Driver) Stop(ctx context.Context) error
- type Item
- func (i *Item) Ack() error
- func (i *Item) Body() []byte
- func (i *Item) Context() ([]byte, error)
- func (i *Item) GroupID() string
- func (i *Item) Headers() map[string][]string
- func (i *Item) ID() string
- func (i *Item) Nack() error
- func (i *Item) NackWithOptions(requeue bool, delay int) error
- func (i *Item) Priority() int64
- func (i *Item) Requeue(headers map[string][]string, delay int) error
- func (i *Item) Respond(_ []byte, _ string) error
- type Options
Constants ¶
View Source
const ( PushBucket string = "push" InQueueBucket string = "processing" DelayBucket string = "delayed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Configurer ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
func FromConfig ¶
func FromPipeline ¶
type Item ¶
type Item struct { // Job contains the pluginName of job broker (usually PHP class). Job string `json:"job"` // Ident is a unique identifier of the job, should be provided from outside Ident string `json:"id"` // Payload is string data (usually JSON) passed to Job broker. Payload []byte `json:"payload"` // Options contain a set of PipelineOptions specific to job execution. Can be empty. Options *Options `json:"options,omitempty"` // contains filtered or unexported fields }
func (*Item) Requeue ¶
Requeue algorithm:
- Rewrite item headers and delay.
- Begin a writable transaction attached to the item db.
- Delete item from the InQueueBucket
- Handle items with the delay: 4.1. Get DelayBucket 4.2. Make a key by adding the delay to the time.Now() in RFC3339 format 4.3. Put this key with value to the DelayBucket
- W/o delay, put the key with value to the PushBucket (requeue)
type Options ¶
type Options struct { // Priority is job priority, default - 10 // pointer to distinguish 0 as a priority and nil as a priority not set Priority int64 `json:"priority"` // Pipeline manually specified pipeline. Pipeline string `json:"pipeline,omitempty"` // Delay defines time duration to delay execution for. Defaults to none. Delay int `json:"delay,omitempty"` // AutoAck option AutoAck bool `json:"auto_ack"` // Push bucket Queue string `json:"queue,omitempty"` // contains filtered or unexported fields }
Options carry information about how to handle a given job.
Click to show internal directories.
Click to hide internal directories.