View Source BroadwaySQS.SQSClient behaviour (BroadwaySQS v0.7.4)
A generic behaviour to implement SQS Clients for BroadwaySQS.Producer
.
This module defines callbacks to normalize options and receive message
from a SQS queue. Modules that implement this behaviour should be passed
as the :sqs_client
option from BroadwaySQS.Producer
.
Summary
Types
@type messages() :: [Broadway.Message.t()]
Callbacks
Should initialize the SQS client.
This callback is called when the producer is started. It should return
{:ok, normalized_opts}
if the client was initialized successfully or
{:error, reason}
if there was an error. normalized_opts
is what gets
passed to the receive_messages/2
callback.
@callback receive_messages(demand :: pos_integer(), opts :: any()) :: messages()
Should fetch messages from the configured SQS queue.
opts
is the normalized options returned from init/1
. The demand
argument is the number of messages that the producer is asking for.