Frequenza e orari dei crawler
Ogni fonte ha un proprio ciclo di sincronizzazione, con orari scaglionati per non saturare le risorse del nostro server e per rispettare i ritmi delle infrastrutture upstream. Per cosa contiene ogni fonte vedi Fonti dei dati.
Come leggere la tabella
Il "Sync" è la chiamata che recupera la lista dei nuovi record da una fonte. Il "Detail" è una seconda chiamata che, per le fonti che ne hanno bisogno, arricchisce il record con campi che non arrivano nel listing iniziale (CUP, RUP, descrizione completa, documenti). Le fonti listing-only — perché il listing è già ricco o perché il dettaglio è una single-page application non scrapabile — non hanno una colonna Detail.
Tabella orari
| Fonte | Sync (lista) | Detail (arricchimento) | Cosa fa il sync |
|---|---|---|---|
| ANAC OCDS | 5 di ogni mese, 04:00 | — | Probe ultimi 6 mesi, scarica solo i file con last-modified cambiato. |
| TED v3 | Ogni giorno, 03:00 | — | Recupera notice oggi+ieri (overlap di sicurezza), filtrate per IT* place-of-performance. |
| SATER (ER) | Ogni ora, :05 | Ogni 6h, :15 (00,06,12,18) | Lista bandi via Plone REST + esiti giornalieri 04:30. Detail = chiarimenti + documenti. |
| SinTel (LO) | Ogni ora, :20 | Ogni 6h, :30 (03,09,15,21) | Lista bandi (10 più recenti) → detail = lotti con CIG + nomi allegati. |
| MIT (nazionale) | Ogni ora, :35 | 4×giorno, :45 (04,10,16,22) | Lista esiti con CIG. Detail = arricchimento CUP/RUP/descrizione completa. |
| Cons. Reg. Campania | Ogni ora, :40 | 4×giorno, :50 (05,11,17,23) | Stesso pattern MIT. |
| Regione Veneto | Ogni ora, :45 | 4×giorno, :55 (00,06,12,18) | Stesso pattern MIT. |
| SUAM Regione Marche | Ogni ora, :48 | — | Stack PortaleAppalti come Veneto. Aggrega regione + sanità + provincia + Università delle Marche. |
| SUAR Regione Liguria | Ogni ora, :33 | — | Stack custom Liguria Digitale, listing-only. Adapter dedicato (non riusa vendor PortaleAppalti/TUTTOGARE/AF). |
| ATERP Calabria | Ogni ora, :50 | 4×giorno, :00 (01,07,13,19) | Stesso pattern MIT. |
| START Toscana | Ogni ora, :55 | — | Listing-only: il dettaglio è una SPA Angular non scrapabile. |
| PlaCe VdA | Ogni 6h, :10 (02,08,14,20) | — | Listing-only via feed RSS AFLink. Volume daily basso → cadenza 6h. |
| EmPULIA (Puglia) | Ogni ora, :47 | — | Stack AFLink, variante UTF-16LE. Feed RSS XML pubblico ~23K record multi-ente regionale (Regione + ASL + AOU + Comuni). Listing-only: dettaglio è pagina SharePoint autenticata. |
| Soresa SIAPS (Campania) | Ogni ora, :25 | 4×giorno, :50 (02,08,14,20) | Wrapper Drupal su 3 endpoint listing (Bandi/Avvisi, Consultazioni Preliminari, Convenzioni). Detail = CIG anche multi-lotto, importo, procedura, criterio, allegati con SHA256. Multi-ente: tutte le ASL e AO della sanità campana. |
| A.re.a.Com (Abruzzo) | Ogni ora, :15 | — | Stack AFLink, feed RSS XML pubblico anonimo con schema namespace afs: standard. Multi-ente abruzzese (Comuni, Province, ASL, AOU). Listing-only: dettaglio è SPA Joomla. |
| Provincia Teramo (SUA.TE) | Ogni ora, :30 | — | Stack PortaleAppalti, listing esiti con CIG. SUA provinciale, copre Comuni teramani + procedure delegate A.S.L. Teramo. Default paginate=False per evitare il widget Friendly Captcha sul form POST. |
| CM Bari | Ogni ora, :02 | — | Stack PortaleAppalti, listing esiti con CIG. Single-ente. |
| CM Catania | Ogni ora, :07 | — | Stack PortaleAppalti, listing esiti con CIG. Single-ente. |
| CM Venezia | Ogni ora, :12 | — | Stack PortaleAppalti, listing esiti con CIG. Single-ente. |
| CM Genova | Ogni ora, :17 | — | Stack TUTTOGARE, listing DataTables AJAX. Single-ente. |
| CM Cagliari | Ogni ora, :22 | — | Stack TUTTOGARE, listing DataTables AJAX. Single-ente. |
| CM Reggio Calabria | Ogni ora, :27 | — | Stack TUTTOGARE, listing DataTables AJAX. Single-ente. |
| CM Palermo | Ogni ora, :32 | — | Stack TUTTOGARE white-label su dominio Regione Sicilia. Single-ente. |
| CM Roma Capitale | Ogni ora, :37 | — | Stack AF Soluzioni (AFLink), feed RSS XML. SUA Lazio: aggrega Comuni laziali convenzionati. |
| CM Napoli | Ogni ora, :42 | — | Stack AF Soluzioni (AFLink), feed RSS XML. Archivio dal 2006. |
| Watchlist matching | Ogni giorno, 06:00 | — | Confronta nuovi bandi (24h) con i filtri delle watchlist e produce match. |
| Watchlist digest email | Ogni giorno, 07:00 | — | Spedisce a ciascun utente le notifiche dei match generati nelle 24h precedenti. |
Tutti gli orari sono CEST. Lo scaglionamento al minuto serve a distribuire il carico sul nostro server e sulle infrastrutture upstream: nessun firing simultaneo, niente picchi di richieste.
Lag tipico per fonte
Il "lag" è il tempo che intercorre tra la pubblicazione di un bando sull'origine ufficiale e la sua comparsa su AppaltIntel. Per le fonti orarie è quasi sempre sotto l'ora; per le fonti mensili come ANAC dipende dal calendario di pubblicazione del bulk a monte.
- Lag < 1 ora: tutte le fonti orarie (SATER ER, SinTel LO, MIT, START, Veneto, Campania, Marche SUAM, Liguria SUAR, EmPULIA Puglia, Soresa SIAPS Campania, ATERP Calabria, A.re.a.Com Abruzzo, Provincia Teramo, le 9 CM).
- Lag < 6 ore: PlaCe VdA (sync ogni 6 ore).
- Lag < 24 ore: TED (sync giornaliero notte).
- Lag ~30 giorni: ANAC OCDS (bulk mensile pubblicato a fine mese successivo, scaricato il 5 del mese seguente).
Cosa succede se un sync fallisce
I crawler hanno retry automatico con backoff esponenziale (3 tentativi). Se la fonte upstream è giù in modo persistente, lo stato del sync passa da "ok" a "error" e l'amministratore riceve un'email di notifica una sola volta (pattern transizione di stato: niente spam se la fonte resta giù per ore). Quando torna disponibile, una seconda email "ripristinato" conferma il rientro in normalità. I dati già caricati restano consultabili; quelli pubblicati durante la finestra di guasto verranno recuperati al primo sync utile.
Questa pagina ti è stata utile? Sezione assente o poco chiara? Scrivici a info@appaltintel.it.