- PHP >= 8
- Laravel
- Postgres
Execute os comandos abaixo para preparar o ambiente de desenvolvimento:
$ composer install
$ cp .env.example .envApós criar o arquivo .env será necessário configurar variáveis de ambiente.
Rode as migrações para criar tabelas em seu banco de dados:
$ php artisan migrateApós configurar o ambiente, basta subir o servidor.
$ php artisan servePara facilitar os testes, foi feito um seed que gera nome e e-amils fictícios. O arquivo é salvo em
/storage/app/schedules/batch.csv
Para gerar este arquivo, execute o comando abaixo:
$ php artisan db:seedPara executar o processamento do arquivo CSV, é necessário que o job esteja rodando em background. Em ambiente de produção é recomendado o supervisor.
$ php artisan queue:listen --queue=emails --tries=3 --backoff=5Após realizar a leitura do CSV, temos que processar outro worker. Este worker é responsável por buscar os registros e disparar a notificação.
$ php artisan schedule:work