petlove/health-create-queues

There is no license information available for the latest version (v1.0.0) of this package.

Pacote para automaticamente criar as filas no SQS

Installs: 1 182

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/petlove/health-create-queues

v1.0.0 2025-08-27 20:16 UTC

This package is not auto-updated.

Last update: 2025-10-09 19:21:18 UTC


README

Este pacote tem como objetivo automatizar a criação de filas no SQS como base na execução de um comando artisan.

Instalação

Instalar o pacote usando o composer:

composer require petlove/health-create-queues

Após instalar o pacote você pode publicar a configuração:

php artisan vendor:publish --tag=health-create-queues

Configuração

As filas são criadas com base na configuração do arquivo config/create-queues.php.

Exemplo para criar uma fila com o nome bill_paid e send_email:

<?php

return [
    [
        'name' => 'bill_paid'
    ],
    [
        'name' => 'send_email',
        'delay' => 45,
    ],
];

Parâmetros de Configuração

Junto do nome da fila podem ser passados algumas configurações aceitas no SQS da AWS:

  • name: nome da fila
  • delay: delay em segundos para a fila (default 0)
  • visibility_timeout: timeout de visibilidade em segundos (default 35) - ideal ser um pouco maior que --timeout do consumidor do Laravel
  • max_receive_count: quantidade de vezes que a fila pode ser recebida antes de ser enviada para o DLQ (default 7) - ideal ser o mesmo valor do --tries do consumidor do Laravel

Uso

Depois de configurar as filas você pode rodar o comando:

php artisan health:create-queues

Esse comando vai criar todas as filas que estão na configuração.

Importante: Esse comando não deleta nenhuma fila do SQS! Mesmo a fila não existindo mais no arquivo de configuração o comando não vai deletar ela.

Sugestão de Deploy

Uma sugestão é adicionar a execução desse comando no deploy da aplicação, assim tem uma garantia que a fila vai existir ao subir a aplicação, seja ambiente local ou cloud.