Laravel

Queues & Jobs

Queue 설정, job 생성, job 디스패치, job middleware, 실패한 job, job batching, queue worker

22 면접 질문·
Mid-Level
1

데이터베이스를 사용하여 job을 저장하는 Laravel queue 드라이버는 무엇입니까?

답변

database 드라이버는 job을 Laravel 테이블(보통 'jobs')에 저장합니다. 이를 통해 Redis나 다른 외부 시스템을 설치할 필요가 없어 초기 배포가 간단해집니다. 대용량 처리나 성능이 중요한 경우에는 더 나은 성능과 확장성을 제공하는 Redis나 SQS를 선택하는 것이 좋습니다.

2

새 job 클래스를 생성하는 Artisan 명령어는 무엇입니까?

답변

'php artisan make:job' 명령어는 app/Jobs 디렉터리에 새 job 클래스를 생성합니다. 이 클래스에는 queue worker가 실행하는 handle 메서드가 포함됩니다. 생성된 구조에는 job 관리를 쉽게 해주는 Dispatchable, InteractsWithQueue, Queueable 같은 유용한 trait도 포함됩니다.

3

Job 클래스의 어떤 메서드에 실행할 비즈니스 로직이 위치하나요?

답변

handle 메서드는 job의 비즈니스 로직을 담고 있습니다. Laravel은 worker가 job을 처리할 때 이를 자동으로 호출합니다. 이 메서드는 service container를 통한 의존성 주입을 지원하므로, 서비스를 메서드 시그니처에 직접 주입하여 테스트 용이성과 코드 유지보수성을 높일 수 있습니다.

4

Laravel 애플리케이션에서 이메일 발송에 queue를 사용하는 이유는 무엇인가요?

5

queue를 거치지 않고 job을 동기적으로 디스패치하는 메서드는 무엇인가요?

+19 면접 질문

다음 면접을 위해 Laravel을 마스터하세요

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

무료로 시작하기