Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, 잡 큐, perform_later, 에러 처리, 재시도 로직, GlobalID

20 면접 질문·
Mid-Level
1

Ruby on Rails에서 ActiveJob은 무엇인가요?

답변

ActiveJob는 Rails에 내장된 프레임워크로, 잡을 선언하고 Sidekiq, Resque, DelayedJob 같은 다양한 queuing 백엔드에서 실행할 수 있는 통합 인터페이스를 제공합니다. 잡 코드를 수정하지 않고 백엔드를 전환할 수 있어, 비동기 백그라운드 처리를 위한 표준화된 추상화를 제공합니다.

2

ActiveJob에서 잡을 비동기로 실행하려면 어떤 메서드를 사용해야 하나요?

답변

perform_later 메서드는 구성된 queuing 백엔드가 비동기로 실행하도록 잡을 큐에 넣습니다. 잡은 큐에 배치되어 나중에 워커가 처리합니다. 잡을 즉시 동기적으로 실행하는 perform_now와 달리, perform_later는 메인 스레드를 해제하고 애플리케이션의 응답성을 향상시킵니다.

3

ActiveJob에서 perform_later와 perform_now의 주요 차이점은 무엇인가요?

답변

perform_later는 잡을 큐에 넣어 나중에 워커가 비동기로 실행하도록 하지만, perform_now는 현재 프로세스에서 잡을 즉시 동기적으로 실행합니다. perform_now는 테스트나 즉시 실행이 필요할 때 유용하지만, 잡이 완료될 때까지 호출 스레드를 차단합니다.

4

ActiveJob 잡의 기본 큐를 정의하려면 어떻게 하나요?

5

GlobalID는 무엇이며 ActiveJob에서 어떤 역할을 하나요?

+17 면접 질문

다음 면접을 위해 Ruby on Rails을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기