Skip to content
ZERONE
Torna ai progetti
Data Engineering · Recruitment Intelligence · 2026

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.

2,5 MAnnunci di lavoro
7Server nel cluster
16Integrazioni ATS
55+Daemon attivi

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.

API · Cron · Orchestrator · FrontendMASTERORCHESTRATORATS crawler · 13 enricher daemonW1WORKERCareer page · triple enricher · contact completerW2WORKERCareer HTML · PDF extraction · description shard 3–4W3WORKERPostgreSQL 15 primary · PgBouncer poolDBPRIMARYDescription shard 5–7 · residential-proxy scraperW5WORKERGeo-discovery · 25 container DockerW6WORKER
MASTERAPI · Cron · Orchestrator · Frontend
W1ATS crawler · 13 enricher daemon
W2Career page · triple enricher · contact completer
W3Career HTML · PDF extraction · description shard 3–4
DBPostgreSQL 15 primary · PgBouncer pool
W5Description shard 5–7 · residential-proxy scraper
W6Geo-discovery · 25 container Docker

Pipeline

Description pipeline a 8 shard (resilient)

  1. 01Sharding via hashtext — distribuzione deterministica su 8 partizioni
  2. 02Processo Python dedicato per shard + log file dedicato
  3. 03Endless reconnect con backoff esponenziale [1,2,4,8,16,30]s
  4. 04Mini-batch commit ogni 50 righe — idempotente, solo UPDATE
  5. 05Daemon-keeper con alert Telegram — auto-restart sui miss + log tail + check OOM

Stack tecnologico

Next.js 14 (App Router + Pages)FastAPI · UvicornPostgreSQL 15 · PgBouncerRedisPlaywrightDocker Composesystemd · cronSendGridCloudflare WorkersTelegram Bot APIIPRoyal (residential)nginx · Let's Encrypt

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.

Progetto simile?

Parliamone — ascoltiamo prima di consegnare.

Richiedi un progetto