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.
Log ind for at se indsendelseshistorik
Log indLog ind for at bruge AI-mentor
Log ind