https://karab.in
- poprawiona strona wyszukiwania
- poprawiona strona tagu
- kolejki przeniesione na #rabbitmq #docker
- kolejne miejsca w których pojawia się kbin https://joinfediverse.wiki/What_is_Kbin
Teraz jeszcze przenieść to na YunoHost i wreszcie kończę zabawę z serwerem.
https://kbin.pub - strona projektu
https://kbin.social - anglojęzyczna instancja
#programowanie #ciekawostki #wykop #strim #webdev
poproszę o gotowe rozwiązanie albo link do materiału z którego mógłbym skorzystać. Mam następujący problem:
Jest aplikacja napisana w #php #symfony która to publikuje eventy w kolejce #rabbitmq. Są też 2 consumery, które to konsumują te eventy. Problem jest taki, że w pewnym miejscu mam race condition. Są opublikowane rożne eventy, które podczas konsumpcji tworzą lub aktualizują rekord w bazie danych. Problem jest w tym, że konsumpcja może nastąpić
Na race condition aktualizacji może pomóc transakcja +
SELECT FOR UPDATE
, żeby zrobić locka na wierszu dopóki nie skończysz swojej operacji update'u.Co do race condition przy tworzeniu wierszy, to już musiałbyś dokładnie napisać co tam
Zamiast tego zrób albo tak jak pisałem - transakcja, select for update, update/insert, koniec transakcji. Albo jeśli jesteś w stanie to zrobić w sposób idempotentny to po prostu
INSERT ... ON DUPLICATE KEY UPDATE
alboREPLACE
.Ewentualnie zapytaj po prostu jakiegoś seniora w