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

Callbacks

Should initialize the SQS client.

Should fetch messages from the configured SQS queue.

Types

@type messages() :: [Broadway.Message.t()]

Callbacks

@callback init(opts :: any()) ::
  {:ok, normalized_opts :: any()} | {:error, reason :: binary()}

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.

Link to this callback

receive_messages(demand, opts)

View Source
@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.