📖 Brief Progetto
Nessun brief ancora. Usa il tasto qui sotto per farlo generare da Claude.
1. Premi 🧠 Chiedi generazione Brief → incolla nella chat Claude (allega anche lo zip del progetto se disponibile)
2. Claude ti restituisce il testo → premi 📥 Incolla Brief e incollalo qui
2. Claude ti restituisce il testo → premi 📥 Incolla Brief e incollalo qui
📁 File Progetto
0 file
Max 64M · zip, pdf, docx, xlsx, immagini, codice…
📊 Avanzamento
0%
✅ To Do List
0/0
Nessuna task
📝 Note
== ARCHITETTURA ==
Server VPS OVH 152.228.162.32, Debian, Plesk, MariaDB 10.11.14, PHP 8.3.
Ogni sito è un progetto Laravel 11 indipendente con DB proprio.
Scheduler centralizzato: /root/travel-scheduler.sh (sequenziale, 30s timeout, fix OOM da 257 cron paralleli).
== TRE TIPOLOGIE ==
1. FULL (17 regionali): SITE_TYPE=full, 17 modelli, 24 tabelle, 10-15 destinazioni
2. SINGLE_DEST (46): SITE_TYPE=single_dest, 22 modelli (+6 extra), 30 tabelle, 1 destinazione
3. SiciliaInVacanza: app in root (non sottocartella), public/ come docroot, no SITE_TYPE
== PIPELINE HOTEL (AUTOMATICA) ==
1. Sync Agoda (weekly lun 03:00) → importa hotel con dati base → max 10/chiamata, risultati diversi ogni sync
2. Enrich Perplexity (2x/day 06:00+18:00, 10/run, runInBackground) → scrive scheda AI completa → enriched_at
3. Publish (daily 08:00, 5/run, runInBackground) → published_at → hotel visibile sul sito
Solo hotel enriched vengono pubblicati. ~3.976 hotel da scrivere sui regionali.
Siti single_dest: 11-19 hotel, quasi tutti enriched+pubblicati.
SIV: 270 hotel (92 pub, 178 in coda, 0 da scrivere).
Stima completamento enrichment regionali: ~20 giorni. Pubblicazione completa: ~60 giorni.
== PIPELINE BLOG (AUTOMATICA) ==
blog:publish-scheduled hourly via Laravel scheduler.
Fix critico 14/03: cache:clear ogni 15min distruggeva il mutex dello scheduler → 87 post non pubblicati.
Rimosso cache:clear da tutti i 63 siti.
Cron safety: travel-blog-safety.sh alle 09:00 su Base MCL, pubblica max 1 post scaduto/sito.
Regionali: pubblicati fino al 07/03, prossimi schedulati 08/04 (1 mese pausa).
Single_dest recenti: pubblicazione attiva, prossimi post dal 15/03.
== ROUTES/CONSOLE.PHP DI OGNI SITO ==
Schedule::command('agoda:sync-hotels')->weeklyOn(1, '03:00');
Schedule::command('blog:publish-scheduled')->hourly();
Schedule::command('agoda:enrich-hotels --limit=10')->twiceDaily(6, 18)->runInBackground();
Schedule::command('agoda:publish-hotels --count=5')->dailyAt('08:00')->runInBackground();
// cache:clear RIMOSSO il 14/03 (interferiva con mutex scheduler)
== IMMAGINI ==
~7.000 task pending nella cache grafico (63 siti).
Tipi: cover_blog ~2.460, inline_content ~3.700, cover_attraction 322, cover_destination 229, og_image 238, hero 62.
Salvina gestisce tutto dalla dashboard grafico su Base MCL.
== PROBLEMI RISOLTI 14-15/03 ==
1. cache:clear interferiva con scheduler → rimosso da 63 siti
2. 87+2 post scaduti → pubblicati manualmente
3. civitadibagnoreggio: 0 task cover_blog → generati 31 task
4. SIV non nella cache overview → fix cron per supporto app-in-root
5. castellammare + civitadibagnoreggio: 0 hotel pub → ora pubblicati
6. enrichment hotel non partiva su tutti i siti → aggiunto runInBackground()
7. scheduler sequenziale non trovava SIV → fix hardcode per app-in-root
== SITI CON PROBLEMI NOTI ==
- marzamemiinvacanza.it: solo 1 hotel (Agoda ha pochissime strutture)
- santamariadileucainvacanza.it: 0 hotel + 0 blog
- castellammaredelgolfoinvacanza.it: 0 blog (da generare)
- 5 siti non deployati: basilicata, francia, londra, toscana, umbria
📜 Changelog
Fix enrichment hotel: aggiunto runInBackground() su tutti i 63 siti (il timeout 30s dello scheduler sequenziale killava l'enrichment). Solo 5 siti enrichavano, ora tutti dovrebbero partire. Sync Agoda boost su single_dest: +3-8 hotel/sito. Pubblicati 2 post scaduti su villasimiusinvacanza. Verificato pipeline hotel funzionante end-to-end (test manuale enrichment+publish su abruzzo, campania, emiliaromagna). Pagina Stato Servizi creata su Base MCL.
2026-03-15 19:05 · claude
Sessione intensiva: mappatura completa 68 siti. Fix cache:clear su 63 siti. 87 post scaduti recuperati. Cron safety blog attivato. Enrichment + publish hotel schedulati. Sync Agoda boost. Dashboard overview + card hotel. SIV integrata. Ordinamento grafico aggiornato. README tecnico generato.
2026-03-14 17:30 · claude
ℹ️ Info
Server Travel
OVH VPS — IP 152.228.162.32 — Debian — Plesk — MariaDB 10.11.14
Server Base MCL
OVH VPS — IP 54.36.100.203 — Plesk — gestionale centralizzato
Siti totali
68 su Plesk (63 con DB attivo + 5 non deployati: basilicata, francia, londra, toscana, umbria)
Tipologia FULL
17 regionali — SITE_TYPE=full, 17 modelli, 24 tabelle, 10-15 destinazioni
Tipologia SINGLE_DEST
46 singole — SITE_TYPE=single_dest, 22 modelli (+6 extra), 30 tabelle, 1 destinazione
SiciliaInVacanza
Progetto originale — app in root, public/ come docroot, DB user sicilia_db, 270 hotel (92 pub, 178 in coda)
Hotel totali
5.279+ (987 pubblicati, ~1.303 enriched, ~3.976 da scrivere) — in crescita automatica
Blog totali
3.139+ (429+ pubblicati, ~2.709 schedulati) — pubblicazione automatica hourly
Destinazioni
253 (22 con cover: solo SIV 12 + Veneto 10)
Agoda
Account unico Site ID 1959890 — API max 10 hotel/chiamata, sync weekly aggiunge 3-8 hotel/sito
Enrichment
Perplexity Sonar Pro — 10 hotel/run, 2x/giorno (06:00 e 18:00), runInBackground()
Publish hotel
5/giorno alle 08:00, runInBackground(), solo enriched
Publish blog
Hourly via blog:publish-scheduled
Cron scheduler
travel-scheduler.sh sequenziale, 30s timeout/sito, ogni minuto, 66 siti ~26s
Cron safety blog
09:00 giornaliero su Base MCL, pubblica max 1 post scaduto/sito
SSH da Base
ssh -i /var/www/vhosts/mclmedia.eu/.ssh/travel_deploy_key root@152.228.162.32
Prossimo step
Monitorare enrichment hotel (primo ciclo completo), verificare tutti i siti enrichano, deploy siti mancanti
🛠 Tech Stack
🔗 Link
📘 README
Nessun README. Usa "Copia README" per farlo generare da Claude.
⚠️ Zona Pericolosa
clicca per espandere