Hledáte pojmenované zámky (opatrné, nebezpečné věci, nevyhýbejte se experimentování se zámky na produkčních serverech :D).
Podívejte se na:
A1 :Vyberte jedinečný řetězec, který chcete uzamknout, a použijte GET_LOCK
na něm (řekněme GET_LOCK('conversation_' || [id])
; pokud vrátí 1
zámek je váš. Dělejte, co chcete, a později zavolejte RELEASE_LOCK
(při zohlednění všech možných scénářů, včetně chyb).
A2 :Druhý parametr GET_LOCK
je časový limit v sekundách . Pokud vyprší časový limit operace GET_LOCK
vrátí 0
.
Z oficiální dokumentace
Tučné písmo je moje:
- Znamená, že můžete držet pouze jeden zámek na připojení (to není problém pro váš případ uživatele)
- Znamená, že po zavření se zámky uvolní připojení
- Znamená, že dvě různá připojení (dokonce i ze stejného fondu) nemusí získat stejný vzhled najednou.