#826

Izveido darbu rindu, kas mērogojas bez sadursmēm

Datubāzē ir darbu rinda — tabula jobs ar statusu pending neizpildītajām rindām. Uz to reizē skatās pieci darbinieki: katrs grib paķert vecāko darbu un atzīmēt to kā «izpildē». Parasta rindas līmeņa slēdzene ar limitu liek visiem pieciem darbiniekiem sablīvēties uz vienas un tās pašas rindas un serializēties. Zāles ir izlaist jau nobloķētās rindas un paņemt nākamo brīvo: katrs darbinieks saņem savu darbu, un paralēlisms strādā bez sadursmēm. jobs(id SERIAL, status, payload) satur četras pending rindas (a, b, c, d). Paķer no jobs vienu pending darbu ar mazāko identifikatoru, pārslēdz to uz running — pārējie trīs paliek pending.

Tava vaicājuma rezultāts parādīsies šeit