Jak zablokować równoległe wywołania funkcji między procesami w Pythonie

Czasami ta sama funkcja może zostać wywołana równolegle przez kilka procesów, choć jej logika zupełnie się do tego nie nadaje. Jeden worker zmienia hasło do zewnętrznego systemu, drugi robi dokładnie to samo, a trzeci próbuje się właśnie zalogować. Każdy chciał dobrze, tylko teraz nikt nie zna aktualnego hasła XD. Podobny problem pojawia się przy odświeżaniu wspólnych danych, generowaniu tego samego raportu czy modyfikowaniu pliku. Jeśli operacje wejdą sobie w drogę, otrzymujemy klasyczny race condition, czyli wyścig, w którym zwycięzcą bywa zgłoszenie błędu. ...

8 października 2026 · 6 min · SpaceShaman

Jak tworzyć logi i nie zaśmiecać nimi kodu

W jednym z moich projektów w Pythonie musiałem tworzyć dość szczegółowe logi opisujące przebieg działania programu. Kod projektu to w dużej mierze glue code, który korzysta z wielu zewnętrznych usług i automatyzuje procesy wykonywane wcześniej ręcznie. Nie mam nad nimi pełnej kontroli, a moja wiedza o ich działaniu jest bardzo ograniczona. Ponieważ różne procesy często korzystają z tych samych usług, opakowałem je w klasy. Przykładowy kod implementujący jedną z automatyzacji wygląda mniej więcej tak: ...

27 sierpnia 2026 · 7 min · SpaceShaman