Napravi red poslova koji se paralelizira bez kolizija
U bazi se nalazi red poslova — tablica jobs sa statusom pending za neizvršene retke. Pet radnika istovremeno gleda u nju: svaki želi zgrabiti najstariji posao i označiti ga kao «u radu». Obično zaključavanje retka uz ograničenje natjera svih pet radnika da se nagomilaju na istom retku i serijaliziraju. Lijek je preskočiti retke koji su već zaključani i uzeti sljedeći slobodan: svaki radnik dobiva svoj posao i paralelizam radi bez kolizija.
U jobs(id SERIAL, status, payload) nalaze se četiri retka u statusu pending (a, b, c, d). Uzmi iz jobs jedan pending posao s najmanjim identifikatorom, prebaci ga u status running — ostala tri ostaju pending.
Prijavi se da vidiš povijest predaja
PrijavaPrijavi se da koristiš AI mentora
Prijava