# 🔧 Correções Necessárias no Servidor Ubuntu

## ⚠️ Problema 1: APP_TIMEZONE Duplicado

### Situação Atual:
```
APP_TIMEZONE=UTC
APP_TIMEZONE=America/Sao_Paulo
```

### Correção:

```bash
# Editar o .env
nano .env

# Remover a linha duplicada e deixar apenas:
APP_ENV=production
APP_TIMEZONE=UTC
APP_USER_TIMEZONE=America/Sao_Paulo
QUEUE_CONNECTION=database
```

**Importante:** 
- `APP_TIMEZONE` deve ser `UTC` (timezone do servidor)
- `APP_USER_TIMEZONE` deve ser `America/Sao_Paulo` (timezone do usuário)

## ⚠️ Problema 2: Verificar se Scheduler está Criando Jobs

### Teste Manual:

```bash
# 1. Executar o scheduler manualmente
php artisan schedule:run

# 2. Executar o comando diretamente
php artisan clients:check-expiring --scheduler

# 3. Verificar se jobs foram criados
php artisan alerts:diagnose

# 4. Ver logs do Laravel
tail -f storage/logs/laravel.log | grep "CheckExpiringClients"
```

### Verificar Logs do Scheduler:

```bash
# Ver últimas execuções
tail -20 storage/logs/scheduler.log

# Monitorar em tempo real
tail -f storage/logs/scheduler.log
```

## ✅ O que está funcionando:

1. ✅ Queue Worker rodando (systemd service ativo)
2. ✅ Cron configurado
3. ✅ Scripts criados e executáveis
4. ✅ PHP encontrado

## 🧪 Teste Completo:

Execute este comando para diagnóstico completo:

```bash
# Tornar o script executável
chmod +x diagnostico-servidor.sh

# Executar diagnóstico
./diagnostico-servidor.sh
```

## 📋 Checklist:

- [ ] Corrigir .env (remover APP_TIMEZONE duplicado)
- [ ] Verificar logs do scheduler
- [ ] Testar criação de jobs manualmente
- [ ] Verificar se jobs estão sendo processados
- [ ] Verificar se mensagens estão sendo enviadas

## 🔍 Comandos Úteis:

```bash
# Ver status do queue worker
sudo systemctl status laravel-queue.service

# Ver logs do queue worker
sudo journalctl -u laravel-queue.service -f

# Ver logs do scheduler
tail -f storage/logs/scheduler.log

# Ver logs do Laravel
tail -f storage/logs/laravel.log

# Testar criação de jobs
php artisan clients:check-expiring --force

# Ver diagnóstico completo
php artisan alerts:diagnose
```

