Documentation
¶
Index ¶
- type Pipeline
- type PipelineChannel
- type PipelineDirection
- type PipelineMessage
- type PipelineProcess
- func (proc *PipelineProcess) Close()
- func (proc *PipelineProcess) InProcess(ctx context.Context, queue Queue)
- func (proc *PipelineProcess) InQueue(msg PipelineMessage)
- func (proc *PipelineProcess) OutProcess(ctx context.Context, queue Queue)
- func (proc *PipelineProcess) OutQueue(msg PipelineMessage)
- type Queue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Pipeline ¶
type Pipeline struct {
Name string
// contains filtered or unexported fields
}
func NewPipeline ¶
func (*Pipeline) AddProcess ¶
func (pipe *Pipeline) AddProcess(proc *PipelineProcess)
func (*Pipeline) SendMessage ¶
func (pipe *Pipeline) SendMessage(msg PipelineMessage)
type PipelineChannel ¶
type PipelineChannel chan PipelineMessage
type PipelineDirection ¶
type PipelineDirection string
const ( PipelineInDirection PipelineDirection = "IN" PipelineOutDirection PipelineDirection = "OUT" )
type PipelineMessage ¶
type PipelineMessage struct {
LastProcess int
Direction PipelineDirection
Content []byte
Finished bool
Drop bool
}
type PipelineProcess ¶
type PipelineProcess struct {
Id int
Name string
Concurrency int
Pipe *Pipeline
// contains filtered or unexported fields
}
func NewPipelineProcess ¶
func NewPipelineProcess(name string, inProcess func(PipelineProcess, PipelineMessage) PipelineMessage, outProcess ...func(PipelineProcess, PipelineMessage) PipelineMessage) (PipelineProcess, error)
func (*PipelineProcess) Close ¶
func (proc *PipelineProcess) Close()
func (*PipelineProcess) InProcess ¶
func (proc *PipelineProcess) InProcess(ctx context.Context, queue Queue)
func (*PipelineProcess) InQueue ¶
func (proc *PipelineProcess) InQueue(msg PipelineMessage)
func (*PipelineProcess) OutProcess ¶
func (proc *PipelineProcess) OutProcess(ctx context.Context, queue Queue)
func (*PipelineProcess) OutQueue ¶
func (proc *PipelineProcess) OutQueue(msg PipelineMessage)
type Queue ¶
type Queue interface {
// Publish sends a PipelineMessage to the specified topic
Publish(ctx context.Context, topic string, msg PipelineMessage) error
// Subscribe starts a consumer on the given topic. The consumerGroup
// allows multiple nodes to process messages from the same topic
// in a load-balanced way.
// Returns a channel that receives messages and an error if subscription fails.
Subscribe(ctx context.Context, topic string, consumerGroup string) (<-chan PipelineMessage, error)
// Close terminates the connection to the queue and cleans up resources.
Close() error
}
Queue is the interface that abstracts the message queue backend for scaling the pipeline across goroutines and nodes.
Click to show internal directories.
Click to hide internal directories.