Case 01 — Piattaforma Job-Intelligence
Crawler distribuito su 7 server, 16 integrazioni ATS, arricchimento continuo per 2,5 M di posizioni aperte nel mercato DACH.
La sfida
Un leader del recruitment DACH aveva bisogno di un data layer che il suo team interno non era più in grado di sostenere: milioni di posizioni attive, aggiornate ogni giorno, estratte da 16 diversi applicant-tracking system, arricchite con contatti, fasce salariali, metadati aziendali e analisi semantica delle descrizioni. Senza downtime, senza buchi nei dati, con un controllo qualità tracciabile a livello forense.
Architettura
Un nodo master orchestra API, scheduling cron, daemon-keeper e delivery del frontend. Sei worker specializzati si dividono il carico per dominio — ATS crawling, estrazione career page, description shard, geo-discovery. Un database host dedicato con pool PgBouncer.
Pipeline
Description pipeline a 8 shard (resilient)
- 01Sharding via hashtext — distribuzione deterministica su 8 partizioni
- 02Processo Python dedicato per shard + log file dedicato
- 03Endless reconnect con backoff esponenziale [1,2,4,8,16,30]s
- 04Mini-batch commit ogni 50 righe — idempotente, solo UPDATE
- 05Daemon-keeper con alert Telegram — auto-restart sui miss + log tail + check OOM
Stack tecnologico
Risultato
Dal go-live: uptime 99,9 %+. Copertura description 84 %, copertura email 65 %, quality score in salita verso l'80 %. La pipeline gira ogni giorno dalle 04:30 alle 07:30 senza intervento operatore. Due anni di rimedi pianificati sono diventati superflui grazie a un connection management unificato e a un daemon-keeper esteso a tutto il cluster.