Configuração de Filas
Este documento detalha como configurar sistema de filas para processamento escalável no n8n, incluindo setup do Redis, configuração de workers, gerenciamento de jobs, tratamento de falhas, monitoramento de performance, e estratégias de distribuição de carga que permitem processar grandes volumes de workflows simultaneamente sem degradar a performance do sistema principal.
O que você vai aprender
- Configuração do Redis para filas
- Setup de workers distribuídos
- Gerenciamento de jobs e falhas
- Monitoramento de performance
- Estratégias de escalabilidade
Por que usar Filas?
Benefícios das Filas
Sem Filas (Processamento Síncrono):
- ❌ Bloqueio - Um workflow trava todos os outros
- ❌ Timeout - Execuções longas causam timeouts
- ❌ Recursos limitados - Apenas uma execução por vez
- ❌ Sem escalabilidade - Não pode distribuir carga
Com Filas (Processamento Assíncrono):
- ✅ Paralelismo - Múltiplas execuções simultâneas
- ✅ Resiliência - Falhas não afetam outras execuções
- ✅ Escalabilidade - Adicione workers conforme necessário
- ✅ Performance - Melhor utilização de recursos
- ✅ Monitoramento - Visibilidade completa do processamento
Quando Usar Filas
Use filas quando:
- Processa muitos workflows simultaneamente
- Tem execuções longas (>30 segundos)
- Precisa de alta disponibilidade
- Quer distribuir carga entre servidores
- Precisa de retry automático em falhas
Configuração Redis
Instalação Rápida
Ubuntu/Debian
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Instalar Redis
sudo apt update
sudo apt install redis-server
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Iniciar serviço
sudo systemctl start redis-server
sudo systemctl enable redis-server
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar status
sudo systemctl status redis-server
redis-cli ping
CentOS/RHEL
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Instalar Redis
sudo yum install redis
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Iniciar serviço
sudo systemctl start redis
sudo systemctl enable redis
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar status
sudo systemctl status redis
redis-cli ping
Docker
# <ion-icon name="cloud-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Executar Redis com Docker
docker run -d \
--name redis-n8n \
-p 6379:6379 \
-v redis_data:/data \
redis:7-alpine redis-server --appendonly yes
Configuração Avançada
redis.conf - Otimizações
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> /etc/redis/redis.conf
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Memória
maxmemory 512mb
maxmemory-policy allkeys-lru
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Persistência
save 900 1
save 300 10
save 60 10000
appendonly yes
appendfsync everysec
# <ion-icon name="speedometer-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Performance
tcp-keepalive 300
timeout 0
tcp-backlog 511
# <ion-icon name="document-text-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Logs
loglevel notice
logfile /var/log/redis/redis-server.log
# <ion-icon name="shield-checkmark-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Segurança
requirepass senha_redis_segura
bind 127.0.0.1
Configuração de Segurança
# <ion-icon name="person-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Criar usuário dedicado
sudo adduser --system --group --no-create-home redis
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configurar permissões
sudo chown redis:redis /var/lib/redis
sudo chmod 750 /var/lib/redis
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configurar firewall
sudo ufw allow from 192.168.1.0/24 to any port 6379
Variáveis de Ambiente
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração básica Redis
REDIS_URL=redis://localhost:6379
# <ion-icon name="shield-checkmark-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Com autenticação
REDIS_URL=redis://:senha_redis@localhost:6379
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Com SSL/TLS
REDIS_URL=rediss://:senha_redis@localhost:6380
# <ion-icon name="key-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configurações avançadas
REDIS_PREFIX=n8n
REDIS_DB=0
REDIS_TIMEOUT=30000
Configuração n8n
Variáveis de Ambiente
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração de filas
REDIS_URL=redis://localhost:6379
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Modo de execução
EXECUTIONS_PROCESS=main
EXECUTIONS_MODE=regular
# <ion-icon name="key-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configurações de workers
EXECUTIONS_TIMEOUT=300000 # 5 minutos
EXECUTIONS_TIMEOUT_MAX=3600000 # 1 hora
# <ion-icon name="bug-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Retry e falhas
EXECUTIONS_RETRY_ON_ERROR=true
EXECUTIONS_RETRY_ON_FAILURE=true
EXECUTIONS_RETRY_ATTEMPTS=3
EXECUTIONS_RETRY_DELAY=5000 # 5 segundos
Docker Compose
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
# Configurações básicas
- N8N_PROTOCOL=https
- N8N_HOST=seudominio.com
- GENERIC_TIMEZONE=America/Sao_Paulo
# Banco de dados
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
# Redis para filas
- REDIS_URL=redis://redis:6379
# Configurações de execução
- EXECUTIONS_PROCESS=main
- EXECUTIONS_MODE=regular
- EXECUTIONS_TIMEOUT=300000
- EXECUTIONS_TIMEOUT_MAX=3600000
# Segurança
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
- redis
networks:
- n8n_network
postgres:
image: postgres:15
restart: unless-stopped
environment:
- POSTGRES_DB=n8n
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- n8n_network
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
volumes:
- redis_data:/data
networks:
- n8n_network
redis-commander:
image: rediscommander/redis-commander:latest
restart: unless-stopped
environment:
- REDIS_HOSTS=local:redis:6379:0:${REDIS_PASSWORD}
ports:
- "8081:8081"
depends_on:
- redis
networks:
- n8n_network
volumes:
n8n_data:
postgres_data:
redis_data:
networks:
n8n_network:
driver: bridge
Workers Distribuídos
Configuração de Workers
Worker Principal (Main)
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração para worker principal
EXECUTIONS_PROCESS=main
EXECUTIONS_MODE=regular
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Este worker processa:
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Execuções manuais
# <ion-icon name="git-network-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Webhooks
# <ion-icon name="grid-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Interface de usuário
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Gerenciamento de workflows
Workers de Execução
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração para workers de execução
EXECUTIONS_PROCESS=worker
EXECUTIONS_MODE=regular
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Este worker processa apenas:
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Execuções de workflows
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Jobs da fila
# <ion-icon name="bug-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> - Retry de falhas
Múltiplos Workers
Docker Compose com Workers
version: '3.8'
services:
# Worker principal
n8n-main:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- EXECUTIONS_PROCESS=main
- EXECUTIONS_MODE=regular
- REDIS_URL=redis://redis:6379
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
depends_on:
- postgres
- redis
networks:
- n8n_network
# Workers de execução
n8n-worker-1:
image: n8nio/n8n:latest
restart: unless-stopped
environment:
- EXECUTIONS_PROCESS=worker
- EXECUTIONS_MODE=regular
- REDIS_URL=redis://redis:6379
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
depends_on:
- postgres
- redis
networks:
- n8n_network
n8n-worker-2:
image: n8nio/n8n:latest
restart: unless-stopped
environment:
- EXECUTIONS_PROCESS=worker
- EXECUTIONS_MODE=regular
- REDIS_URL=redis://redis:6379
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
depends_on:
- postgres
- redis
networks:
- n8n_network
postgres:
image: postgres:15
restart: unless-stopped
environment:
- POSTGRES_DB=n8n
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- n8n_network
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_data:/data
networks:
- n8n_network
volumes:
postgres_data:
redis_data:
networks:
n8n_network:
driver: bridge
Gerenciamento de Jobs
Tipos de Jobs
Execuções de Workflow
// Job de execução de workflow
{
id: 'workflow-execution-123',
type: 'workflow',
data: {
workflowId: 'abc123',
triggerData: { /* dados do trigger */ },
executionMode: 'regular'
},
priority: 0,
delay: 0,
attempts: 3
}
Webhooks
// Job de webhook
{
id: 'webhook-456',
type: 'webhook',
data: {
workflowId: 'def456',
method: 'POST',
headers: { /* headers */ },
body: { /* payload */ }
},
priority: 1, // Prioridade alta para webhooks
attempts: 3
}
Retry e Falhas
Configuração de Retry
# <ion-icon name="key-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configurações de retry
EXECUTIONS_RETRY_ON_ERROR=true
EXECUTIONS_RETRY_ON_FAILURE=true
EXECUTIONS_RETRY_ATTEMPTS=3
EXECUTIONS_RETRY_DELAY=5000 # 5 segundos
EXECUTIONS_RETRY_BACKOFF=exponential # exponential, linear
Tratamento de Falhas
// Estratégias de retry
const retryStrategies = {
exponential: (attempt) => Math.pow(2, attempt) * 1000, // 1s, 2s, 4s
linear: (attempt) => attempt * 1000, // 1s, 2s, 3s
fixed: (attempt) => 5000 // Sempre 5s
};
Monitoramento
Métricas Redis
Comandos de Monitoramento
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Status do Redis
redis-cli info
# <ion-icon name="analytics-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Estatísticas de memória
redis-cli info memory
# <ion-icon name="analytics-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Estatísticas de comandos
redis-cli info stats
# <ion-icon name="key-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Lista de chaves
redis-cli keys "*"
# <ion-icon name="time-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Monitorar comandos em tempo real
redis-cli monitor
# <ion-icon name="git-branch-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar jobs na fila
redis-cli llen n8n:queue:jobs
redis-cli llen n8n:queue:webhooks
Script de Monitoramento
#!/bin/bash
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> monitor-redis.sh
REDIS_HOST="localhost"
REDIS_PORT="6379"
REDIS_PASSWORD="senha_redis"
# <ion-icon name="analytics-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Métricas básicas
echo "=== Status Redis ==="
redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD info server | grep uptime_in_seconds
echo "=== Memória ==="
redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD info memory | grep used_memory_human
echo "=== Filas n8n ==="
echo "Jobs na fila: $(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD llen n8n:queue:jobs)"
echo "Webhooks na fila: $(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD llen n8n:queue:webhooks)"
echo "Jobs processados: $(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD get n8n:stats:processed)"
echo "Jobs falharam: $(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD get n8n:stats:failed)"
Alertas
Script de Alertas
#!/bin/bash
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> redis-alerts.sh
REDIS_HOST="localhost"
REDIS_PORT="6379"
REDIS_PASSWORD="senha_redis"
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar se Redis está respondendo
if ! redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD ping > /dev/null 2>&1; then
echo "ALERTA: Redis não está respondendo!"
# Enviar notificação
curl -X POST https://hooks.slack.com/services/YOUR/WEBHOOK/URL \
-H "Content-type: application/json" \
-d '{"text":"🚨 Redis não está respondendo!"}'
exit 1
fi
# <ion-icon name="grid-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar fila muito grande
QUEUE_SIZE=$(redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD llen n8n:queue:jobs)
if [ $QUEUE_SIZE -gt 1000 ]; then
echo "ALERTA: Fila muito grande ($QUEUE_SIZE jobs)"
# Enviar notificação
curl -X POST https://hooks.slack.com/services/YOUR/WEBHOOK/URL \
-H "Content-type: application/json" \
-d "{\"text\":\"⚠️ Fila muito grande: $QUEUE_SIZE jobs\"}"
fi
Escalabilidade
Cluster Redis
Redis Sentinel
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração Sentinel
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> sentinel.conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
Redis Cluster
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Criar cluster Redis
redis-cli --cluster create \
127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 \
127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 \
--cluster-replicas 1
Cloud Redis
AWS ElastiCache
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração ElastiCache
REDIS_URL=redis://seu-cluster.xyz.cache.amazonaws.com:6379
# <ion-icon name="shield-checkmark-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Com autenticação
REDIS_URL=redis://:senha@seu-cluster.xyz.cache.amazonaws.com:6379
Google Cloud Memorystore
# <ion-icon name="settings-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Configuração Memorystore
REDIS_URL=redis://10.0.0.1:6379
# <ion-icon name="shield-checkmark-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Com autenticação
REDIS_URL=redis://:senha@10.0.0.1:6379
Troubleshooting
Problemas Comuns
Redis não conecta
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar se Redis está rodando
sudo systemctl status redis-server
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar porta
netstat -tlnp | grep 6379
# <ion-icon name="git-network-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Testar conexão
redis-cli ping
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar logs
sudo tail -f /var/log/redis/redis-server.log
Jobs não processam
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar se workers estão rodando
docker ps | grep n8n
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar logs dos workers
docker logs n8n-worker-1
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar fila
redis-cli llen n8n:queue:jobs
# <ion-icon name="key-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar configurações
docker exec n8n-worker-1 env | grep EXECUTIONS
Performance lenta
# <ion-icon name="server-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar uso de memória Redis
redis-cli info memory
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar comandos lentos
redis-cli slowlog get 10
# <ion-icon name="analytics-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Verificar estatísticas
redis-cli info stats
# <ion-icon name="speedometer-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Limpar cache se necessário
redis-cli flushdb
Scripts de Diagnóstico
Diagnóstico Completo
#!/bin/bash
# <ion-icon name="sparkles-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> diagnose-queues.sh
echo "=== Diagnóstico de Filas n8n ==="
echo
echo "1. Status do Redis:"
redis-cli ping
echo
echo "2. Informações do sistema:"
redis-cli info server | grep -E "(redis_version|uptime_in_seconds|connected_clients)"
echo
echo "3. Uso de memória:"
redis-cli info memory | grep -E "(used_memory_human|maxmemory_human)"
echo
echo "4. Filas n8n:"
echo "Jobs: $(redis-cli llen n8n:queue:jobs)"
echo "Webhooks: $(redis-cli llen n8n:queue:webhooks)"
echo "Retry: $(redis-cli llen n8n:queue:retry)"
echo
echo "5. Estatísticas:"
echo "Processados: $(redis-cli get n8n:stats:processed || echo '0')"
echo "Falharam: $(redis-cli get n8n:stats:failed || echo '0')"
echo "Em execução: $(redis-cli get n8n:stats:running || echo '0')"
echo
echo "6. Workers ativos:"
docker ps --filter "name=n8n" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo
echo "7. Logs recentes:"
docker logs --tail 20 n8n-main 2>&1 | grep -E "(ERROR|WARN|worker|queue)"
Checklist de Produção
Configuração
- Redis instalado e configurado
- Autenticação Redis configurada
- Variáveis de ambiente configuradas
- Conexão Redis testada
- Workers configurados corretamente
Performance
- Configurações de memória otimizadas
- Persistência Redis configurada
- Workers distribuídos adequadamente
- Timeouts configurados
- Retry policies definidas
Monitoramento
- Scripts de monitoramento configurados
- Alertas configurados
- Métricas sendo coletadas
- Logs estruturados
- Dashboard de monitoramento
Segurança
- Senha Redis configurada
- Acesso restrito por IP
- SSL/TLS configurado (se necessário)
- Backup Redis configurado
- Logs de acesso ativados
Próximos Passos
Agora que você configurou as filas:
- Configuração SSL/HTTPS - Configure HTTPS seguro
- Segurança - Configure autenticação avançada
- Load Balancing - Configure balanceamento de carga
- Performance - Otimize performance
Configure pelo menos 2-3 workers para alta disponibilidade. Monitore a fila regularmente e ajuste o número de workers conforme a carga.
Sempre configure backup do Redis e teste a recuperação. Filas perdidas podem causar interrupção de workflows críticos.