#826

Építs munkasort, amely tisztán skálázódik szét

Az adatbázisban van egy munkasor — a jobs tábla pending státusszal a még le nem futott sorokra. Öt worker nézi egyszerre: mindegyik a legrégebbi feladatot szeretné megfogni és «folyamatban»-ra jelölni. Egy egyszerű, limittel ellátott sorszintű zár hatására mind az öt worker ugyanarra a sorra torlódik és sorba rendeződik. A gyógymód az, hogy átugorjuk a már zárolt sorokat, és a következő szabadot vesszük: minden worker megkapja a saját feladatát, és a párhuzamosság ütközések nélkül működik. A jobs(id SERIAL, status, payload) négy pending sort tartalmaz (a, b, c, d). Fogj meg egy pending feladatot a jobs táblából a legkisebb azonosítóval, állítsd át running-ra — a másik három maradjon pending.

A lekérdezésed eredménye itt jelenik meg