#826

Byg en jobkø, der skalerer rent ud

Der er en jobkø i databasen — tabellen jobs med status pending for de ikke-kørte rækker. Fem workers ser på den samtidig: hver vil gribe det ældste job og markere det som "i gang". En almindelig rækkeniveau-lås med en grænse får alle fem workers til at hobe sig op på den samme række og serialisere. Kuren er at springe de rækker over, der allerede er låst, og tage den næste ledige: hver worker får sit eget job, og parallelismen fungerer uden kollisioner. jobs(id SERIAL, status, payload) indeholder fire pending-rækker (a, b, c, d). Grib ét pending-job fra jobs med det mindste id, skift det til running — de andre tre forbliver pending.

Resultatet af din forespørgsel vises her