0Pricing
PHP Academy · Aula

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ção
  • sqs — AWS Simple Queue Service
  • beanstalkd — rápido e leve
  • sync — 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=6379

Configurando 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 migrate

Iniciando 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,default

queue: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:flush

Prioridades 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 low

Painel 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

  1. Conceitos e drivers de filas
  2. Criação e despacho de tarefas
  3. Novas tentativas, atrasos e encadeamento de tarefas
  4. Monitoramento de filas com Laravel Horizon
← Voltar para PHP Academy