Conceitos e drivers de filas
Entenda o processamento assíncrono e configure drivers de fila de banco de dados ou Redis.
Conceitos e drivers de filas é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
O que são filas?
Filas permitem adiar tarefas lentas ou que exigem muitos recursos (envio de e-mails, redimensionamento de imagens, chamadas a APIs externas) para trabalhadores em segundo plano, mantendo rápidas as respostas HTTP.
Arquitetura de filas
O processo principal (servidor web) coloca tarefas em uma fila. Processos de trabalho separados retiram e executam as tarefas de forma assíncrona.
Drivers de fila disponíveis
O Laravel oferece suporte a vários back-ends de fila:
database— tarefas armazenadas no banco de dados (bom para começar)redis— rápido e pronto para produçãosqs— AWS Simple Queue Servicebeanstalkd— rápido e levesync— executa imediatamente (desenvolvimento local)
Configurando o driver de fila
Defina o driver em .env.
# .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379Configurando o driver de banco de dados
Se estiver usando o driver de banco de dados, crie a tabela de tarefas.
$ php artisan queue:table
$ php artisan migrateIniciando um trabalhador de fila
O processo de trabalho retira e executa tarefas da fila.
$ php artisan queue:work
# Or specify connection and queue:
$ php artisan queue:work redis --queue=emails,defaultqueue:listen versus queue:work
queue:work carrega a aplicação uma vez e processa as tarefas na memória — é mais rápido, mas exige reiniciar o trabalhador após alterações no código. queue:listen recarrega a aplicação para cada tarefa — é mais fácil durante o desenvolvimento.
Tarefas com falha
Quando uma tarefa falha após todas as tentativas, ela é armazenada na tabela failed_jobs. Visualize-a e tente novamente usando o Artisan.
$ php artisan queue:failed
$ php artisan queue:retry all
$ php artisan queue:flushPrioridades das filas
Defina várias filas nomeadas e atribua prioridades ao iniciar o trabalhador.
$ php artisan queue:work --queue=high,default,low
# Worker checks high first, then default, then lowPainel do Horizon
Para filas Redis, o Laravel Horizon fornece um belo painel em tempo real que mostra o fluxo de processamento, as tarefas com falha e as estatísticas dos trabalhadores.
Escolhendo um driver
Use sync localmente, database em projetos pequenos e redis em produção em maior escala. Evite SQS, a menos que já esteja na AWS e precise de escala ilimitada.
Resumo
As filas transferem tarefas lentas para trabalhadores em segundo plano. Configure o driver em .env, crie tarefas com o Artisan e inicie os trabalhadores com queue:work. Monitore as tarefas com falha na tabela failed_jobs.
Verificação rápida
Qual driver de fila executa as tarefas imediatamente no mesmo processo?
Perguntas Frequentes
A aula “Conceitos e drivers de filas” é grátis?
Sim — o texto completo de “Conceitos e drivers de filas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Conceitos e drivers de filas”?
Entenda o processamento assíncrono e configure drivers de fila de banco de dados ou Redis. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Conceitos e drivers de filas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conceitos e drivers de filas
- Criação e despacho de tarefas
- Novas tentativas, atrasos e encadeamento de tarefas
- Monitoramento de filas com Laravel Horizon