Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

Sidekiq 7.3.x i connection_pool 3.0 - niekompatybilność, która łamie pracowników

Ta treść została automatycznie przetłumaczona z ukraińskiego.
Ostatnio podczas wdrażania aplikacji Rails na Coolify natknąłem się na błąd, który nie był od razu oczywisty. Sidekiq uruchamia się, łączy z Redis, ale natychmiast pada z takim błędem:
ArgumentError: wrong number of arguments (given 1, expected 0)
/gems/connection_pool-3.0.2/lib/connection_pool/timed_stack.rb:62:in `pop'
/gems/sidekiq-7.3.9/lib/sidekiq/scheduled.rb:226:in `initial_wait'
Przyczyna
Gem connection_pool zaktualizował się do wersji 3.0, gdzie zmieniło się API metody pop - teraz nie przyjmuje argumentów. Sidekiq 7.3.x wciąż wywołuje go po staremu, z argumentem.
Bundler automatycznie pobiera najnowszą wersję connection_pool, a scheduler Sidekiq natychmiast pada.
Fix
Dodajemy do Gemfile ograniczenie wersji:
gem 'connection_pool', '~> 2.4'
Następnie:
bundle update connection_pool
To zainstaluje ostatnią zgodną wersję (2.5.5), a Sidekiq będzie działał poprawnie.
Jeśli Twój Sidekiq uruchamia się, ale natychmiast pada z ArgumentError w connection_pool - sprawdź wersję. To klasyczny przypadek, gdy zależność pośrednia psuje wszystko bez żadnych zmian w Twoim kodzie.

Ten post nie ma jeszcze żadnych dodatków od autora.

Czym jest B-Tree (drzewo zrównoważone)?
22 lis 12:58

Czym jest B-Tree (drzewo zrównoważone)?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Fix problem with installing Ruby 3.4.3 (and not only) via RVM on macOS (Apple Silicon)
30 gru 14:05

Fix problem with installing Ruby 3.4.3 (and not only) via RVM on macOS (Apple Silicon)

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Problem Grzmiącego Stada: co to jest i dlaczego łamie produkcję
15 sty 10:14

Problem Grzmiącego Stada: co to jest i dlaczego łamie produkcję

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest Exponential Backoff i Random Jitter?
15 sty 15:24

Czym jest Exponential Backoff i Random Jitter?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Podłączenie usługi Elasticsearch do aplikacji Rails (Coolify w chmurze, serwer na Hetzner).
15 lut 13:45

Podłączenie usługi Elasticsearch do aplikacji Rails (Coolify w chmurze, serwer na Hetzner).

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
„Brak miejsca na urządzeniu” - kiedy Docker zjadł cały dysk
15 lut 19:57

„Brak miejsca na urządzeniu” - kiedy Docker zjadł cały dysk

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska