Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, kolejki jobów, perform_later, obsługa błędów, logika ponawiania, GlobalID

20 pytań z rozmów·
Mid-Level
1

Czym jest ActiveJob w Ruby on Rails?

Odpowiedź

ActiveJob to wbudowany framework Rails, który zapewnia ujednolicony interfejs do deklarowania jobów i uruchamiania ich na różnych backendach queuing, takich jak Sidekiq, Resque czy DelayedJob. Pozwala zmieniać backend bez modyfikowania kodu jobów, oferując ustandaryzowaną abstrakcję dla asynchronicznego przetwarzania w tle.

2

Której metody należy użyć, aby wykonać job asynchronicznie w ActiveJob?

Odpowiedź

Metoda perform_later kolejkuje job do asynchronicznego wykonania przez skonfigurowany backend queuing. Job jest umieszczany w kolejce i zostanie przetworzony później przez workera. W przeciwieństwie do perform_now, które wykonuje job natychmiast i synchronicznie, perform_later zwalnia główny wątek i poprawia responsywność aplikacji.

3

Jaka jest główna różnica między perform_later a perform_now w ActiveJob?

Odpowiedź

perform_later kolejkuje job w kolejce do późniejszego asynchronicznego wykonania przez workera, podczas gdy perform_now wykonuje job natychmiast i synchronicznie w bieżącym procesie. perform_now jest przydatne w testach lub gdy wymagane jest natychmiastowe wykonanie, ale blokuje wątek wywołujący do zakończenia joba.

4

Jak zdefiniować domyślną queue dla joba ActiveJob?

5

Czym jest GlobalID i jaka jest jego rola w ActiveJob?

+17 pytań z rozmów

Opanuj Ruby on Rails na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo