๐จ QUICK FIX: Eventi Google Calendar Non Creati โ
๐ PROBLEMA โ
Prenotazioni completate ma eventi non appaiono su Google Calendar.
โ SOLUZIONE RAPIDA โ
SSH su Laravel Cloud e esegui: โ
bash
# 1. Verifica se queue worker รจ running
ps aux | grep queue
# Se NON vedi output con "queue:work" o "horizon":
# โ Queue worker NON running! โ
# 2. Avvia queue worker
php artisan horizon
# oppure
nohup php artisan queue:work --queue=google-calendar &
# 3. Verifica ultimo appointment
php artisan booking:check-last
# Output ti dirร :
# - โ Event ID: abc123 (SE sync funziona)
# - โ NON sincronizzato (SE job failed/pending)๐ง SE QUEUE WORKER NON RUNNING โ
Laravel Cloud NON avvia automaticamente il queue worker. Devi configurarlo:
Opzione A: Laravel Cloud Process (Consigliato) โ
- Laravel Cloud Dashboard โ Progetto "blade"
- Settings โ Processes
- Click "Add Process"
- Nome:
horizon - Command:
php artisan horizon - Save
- Process si avvia automaticamente e resta running
Opzione B: Supervisor (Manual) โ
Se Laravel Cloud non supporta Processes, configura Supervisor:
bash
# SSH Laravel Cloud
sudo nano /etc/supervisor/conf.d/horizon.conf
# Aggiungi:
[program:horizon]
process_name=%(program_name)s
command=php /var/www/html/artisan horizon
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/horizon.log
stopwaitsecs=3600
# Salva e riavvia:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start horizon๐ VERIFICA JOB PROCESSATI โ
bash
# Check tabella jobs (pending)
php artisan tinker
>>> \DB::table('jobs')->where('queue', 'google-calendar')->count()
# Se > 0 โ Job in coda ma non processati
# Check failed_jobs
>>> \DB::table('failed_jobs')->count()
# Se > 0 โ Job falliti
# Ultimo failed job:
>>> \DB::table('failed_jobs')->latest('failed_at')->first()๐ PROCESS JOB MANUALMENTE (Test) โ
Se non riesci ad avviare worker, puoi processare manualmente:
bash
# Processa 1 job dalla queue
php artisan queue:work --once --queue=google-calendar
# Poi verifica:
php artisan booking:check-last
# Dovrebbe mostrare Event ID ora!โ VERIFICA FUNZIONAMENTO โ
Dopo aver avviato queue worker:
- Fai nuova prenotazione su /booking/qw
- Aspetta 10-30 secondi
- Apri Google Calendar web
- Refresh (F5)
- โ Dovresti vedere evento!
๐ CHECKLIST โ
- [ ] Queue worker running (
ps aux | grep queue) - [ ] Nuova prenotazione fatta
- [ ]
php artisan booking:check-lastmostra Event ID - [ ] Evento visibile su Google Calendar
- [ ] Invito ricevuto da ospite
๐ SE ANCORA NON FUNZIONA โ
Verifica log errori job:
bash
tail -100 storage/logs/laravel.log | grep -A 10 "CreateGoogleCalendarEventJob"Condividi output cosรฌ vedo l'errore esatto!
AZIONE IMMEDIATA: Avvia queue worker su Laravel Cloud! ๐