Documentation ¶
Index ¶
- type Backend
- func (b *Backend) AckMessage(ctx context.Context, providerMetadata interface{}) error
- func (b *Backend) NackMessage(_ context.Context, _ interface{}) error
- func (b *Backend) Publish(ctx context.Context, payload []byte, attributes map[string]string, ...) (string, error)
- func (b *Backend) Receive(ctx context.Context, priority taskhawk.Priority, numMessages uint32, ...) error
- func (b *Backend) RequeueDLQ(ctx context.Context, priority taskhawk.Priority, numMessages uint32, ...) error
- type Metadata
- type Settings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct {
// contains filtered or unexported fields
}
func NewBackend ¶
NewBackend creates a Backend for publishing and consuming from AWS The provider metadata produced by this Backend will have concrete type: aws.Metadata
func (*Backend) AckMessage ¶
AckMessage acknowledges a message on the queue
func (*Backend) NackMessage ¶
NackMessage nacks a message on the queue
func (*Backend) Publish ¶
func (b *Backend) Publish(ctx context.Context, payload []byte, attributes map[string]string, priority taskhawk.Priority) (string, error)
Publish a message represented by the payload, with specified attributes to the specific topic
func (*Backend) Receive ¶
func (b *Backend) Receive(ctx context.Context, priority taskhawk.Priority, numMessages uint32, visibilityTimeout time.Duration, messageCh chan<- taskhawk.ReceivedMessage) error
Receive messages from configured queue(s) and provide it through the callback. This should run indefinitely until the context is canceled. Provider metadata should include all info necessary to ack/nack a message.
type Metadata ¶
type Metadata struct { // AWS receipt identifier ReceiptHandle string // FirstReceiveTime is time the message was first received from the queue. The value // is calculated as best effort and is approximate. FirstReceiveTime time.Time // SentTime when this message was originally sent to AWS SentTime time.Time // ReceiveCount received from SQS. // The first delivery of a given message will have this value as 1. The value // is calculated as best effort and is approximate. ReceiveCount int // Priority of the queue Priority taskhawk.Priority }
Metadata is additional metadata associated with a message
type Settings ¶
type Settings struct { // AWS Region AWSRegion string // AWS account id AWSAccountID string // AWS access key AWSAccessKey string // AWS secret key AWSSecretKey string // AWS session token that represents temporary credentials (i.e. for Lambda app) AWSSessionToken string // AWS read timeout for Publisher AWSReadTimeoutS time.Duration // optional; default: 2 seconds // Name of the queue for this application QueueName string }
Settings for AWS Backend