Documentation
¶
Index ¶
- type CompressionCodec
- type Consumer
- func (c *Consumer) Pause(_ context.Context, p string)
- func (c *Consumer) Push(ctx context.Context, job *jobs.Job) error
- func (c *Consumer) Register(_ context.Context, p *pipeline.Pipeline) error
- func (c *Consumer) Resume(_ context.Context, p string)
- func (c *Consumer) Run(_ context.Context, p *pipeline.Pipeline) error
- func (c *Consumer) State(context.Context) (*jobs.State, error)
- func (c *Consumer) Stop(context.Context) error
- type ConsumerOpts
- type CreateTopics
- type Item
- func (i *Item) Ack() error
- func (i *Item) Body() []byte
- func (i *Item) Context() ([]byte, error)
- func (i *Item) Copy() *Item
- func (i *Item) ID() string
- func (i *Item) Nack() error
- func (i *Item) Priority() int64
- func (i *Item) Requeue(headers map[string][]string, _ int64) error
- func (i *Item) Respond(_ []byte, _ string) error
- type JobKVEncoder
- type Options
- type ProducerOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressionCodec ¶
type CompressionCodec string
type Consumer ¶
type Consumer struct {
// contains filtered or unexported fields
}
func FromPipeline ¶
func FromPipeline(pipeline *pipeline.Pipeline, log *zap.Logger, cfg cfgPlugin.Configurer, pq priorityqueue.Queue) (*Consumer, error)
FromPipeline initializes pipeline on-the-fly
func NewKafkaConsumer ¶
func NewKafkaConsumer(configKey string, log *zap.Logger, cfg cfgPlugin.Configurer, pq priorityqueue.Queue) (*Consumer, error)
NewKafkaConsumer initializes kafka pipeline from the configuration
type ConsumerOpts ¶
type CreateTopics ¶
type Item ¶
type Item struct {
// Job contains pluginName of job broker (usually PHP class).
Job string `json:"job"`
// Ident is 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 string `json:"payload"`
// Headers with key-values pairs
Headers map[string][]string `json:"headers"`
// Options contains set of PipelineOptions specific to job execution. Can be empty.
Options *Options `json:"options,omitempty"`
}
func (*Item) Context ¶
Context packs job context (job, id) into binary payload. Not used in the amqp, amqp.Table used instead
type JobKVEncoder ¶
type JobKVEncoder struct {
// contains filtered or unexported fields
}
func (JobKVEncoder) Encode ¶
func (j JobKVEncoder) Encode() ([]byte, error)
func (JobKVEncoder) Length ¶
func (j JobKVEncoder) Length() int
type Options ¶
type Options struct {
// Priority is job priority, default - 10
// pointer to distinguish 0 as a priority and nil as 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 int64 `json:"delay,omitempty"`
// AutoAck option
AutoAck bool `json:"auto_ack"`
// contains filtered or unexported fields
}
Options carry information about how to handle given job.
func (*Options) DelayDuration ¶
DelayDuration returns delay duration in a form of time.Duration.
type ProducerOpts ¶
type ProducerOpts struct {
MaxMessageBytes int `mapstructure:"max_message_bytes"`
RequiredAcks *int `mapstructure:"required_acks"`
Timeout int `mapstructure:"timeout"`
CompressionCodec CompressionCodec `mapstructure:"compression_codec"`
CompressionLevel *int `mapstructure:"compression_level"`
Idempotent bool `mapstructure:"idempotent"`
}
Click to show internal directories.
Click to hide internal directories.