Case 01 — Job-Intelligence platforma
Porazdeljen crawler na 7 strežnikih, 16 ATS integracij, neprekinjeno obogatevanje za 2,5 M odprtih pozicij na trgu DACH.
Izziv
Vodilni igralec DACH recruitmenta je potreboval data layer, ki ga njegova ekipa ni več zmogla vzdrževati: milijoni aktivnih pozicij, dnevno osveženih, iz 16 različnih applicant-tracking sistemov, obogateni s kontakti, plačnimi razredi, metapodatki podjetij in semantično analizo opisov. Brez downtimea, brez vrzeli v podatkih, s forenzično preverljivo kontrolo kakovosti.
Arhitektura
Master node orkestrira API, cron scheduling, daemon-keeper in dostavo frontenda. Šest specializiranih workerjev deli obremenitev po domeni — ATS crawling, ekstrakcija career page, description shards, geo-discovery. Dedicirani database host s PgBouncer poolom.
Pipeline
Description pipeline na 8 shardih (resilient)
- 01Sharding preko hashtexta — deterministična porazdelitev na 8 particij
- 02Ločen Python proces na shard + ločena log datoteka
- 03Endless reconnect z eksponentnim backoffom [1,2,4,8,16,30]s
- 04Mini-batch commit vsakih 50 vrstic — idempotentno, samo UPDATE
- 05Daemon-keeper s Telegram alerti — auto-restart ob missu + log tail + OOM preverjanje
Tehnološki stack
Rezultat
Od go-livea: uptime 99,9 %+. Pokritost descriptiona 84 %, pokritost e-pošte 65 %, quality score raste proti 80 %. Pipeline teče vsak dan od 04:30 do 07:30 brez posega operaterja. Dve leti načrtovanih popravkov je postalo odvečnih po zaslugi enotnega connection managementa in cluster-wide daemon-keeperja.