Fork me on GitHub
#clojure-norway
<
2023-03-07
>
slipset10:03:20

Si at jeg har en prosess som kjører proletarian. Den tar en jobb fra køen, dvs låser den slik at den blir usynlig for alle andre. Så kommer det en deploy (eller noe) og dreper denne prosessen på den aller mest ugunstige måte. Da vil den låste jobben forbli låst, men ikke gjort?

cjohansen10:03:18

Låsingen baserer seg for "select for update" i postgres, så om jeg skulle begi meg på noe gjetting så gjetter jeg at postgres slipper låsen når connectionen dør?

msolli10:03:22

Der er det en lås, ja, i en transaksjon. Hvis transaksjonen ikke committes så vil jobben frigis slik at den prøves igjen. Mekanismen er SKIP LOCKED i Postgres: https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-postgresql-9-5/

👍 2