Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProcessAsync ¶
func ProcessAsync(callbacks ...ProcessableFunc)
Executa funções de forma assíncrona usando WaitGroup para sincronizar as Goroutines. As funções passadas por parâmetro recebem um ponteiro para o WaitGroup e devem executar WaitGroup.Done() quando finalizarem sua execução
Types ¶
type CallbackFunc ¶
type ProcessableFunc ¶
type Queue ¶
type Queue[T any] struct { // contains filtered or unexported fields }
func (*Queue[T]) Dequeue ¶
func (q *Queue[T]) Dequeue(callback CallbackFunc[T]) error
Desenfileira um item. Executa a callback passando os dados encontrados na primeira posição da fila.
func (*Queue[T]) Listen ¶
func (q *Queue[T]) Listen(callback CallbackFunc[T])
Verifica se existe algum item na fila a cada 10 segundos. Se existir, essa função chamará a função Queue.Dequeue(callback CallbackFunc[T])
type QueueConfig ¶
type QueueError ¶
Caso uma callback retorne um erro, essa estrutura de dados será salva no redis com informações sobre o erro, a data em que o error ocorreu e os dados que estavam na fila.
type QueueProtocol ¶
type QueueProtocol[T any] interface { Enqueue(args T) error Listen(callback CallbackFunc[T]) Dequeue(callback CallbackFunc[T]) error }
func NewQueue ¶
func NewQueue[T any](qName string, config *QueueConfig, redisClient *redis.Client) (QueueProtocol[T], error)
Cria uma nova instância da fila.