수색…


소개

대기열을 사용하면 백그라운드 프로세스에서 처리하는 데 많은 시간이 소요되는 작업 비트를 응용 프로그램에서 예약 할 수 있습니다.

사용 사례

예를 들어, 작업을 시작한 후 고객에게 전자 메일을 보내는 경우 전자 메일을 대기열에 넣고 백그라운드로 보내면 사용자를 다음 페이지로 즉시 리디렉션하는 것이 가장 좋습니다. 이메일 전송에는 때로는 몇 초 또는 그 이상이 소요될 수 있으므로 다음 페이지의로드 시간이 빨라집니다.

또 다른 예는 고객이 주문을 확인한 후에 재고 시스템을 업데이트하는 것입니다. API 호출이 완료 될 때까지 기다리는 대신 몇 초가 걸릴 수 있습니다. API 호출을 대기 상태에서 백그라운드로 대기시키는 동안 즉시 사용자를 체크 아웃 성공 페이지로 리디렉션 할 수 있습니다.

대기열 드라이버 구성

Laravel의 대기열 드라이버 각각은 config/queue.php 파일에서 config/queue.php 됩니다. 큐 드라이버는 대기중인 작업을 실행하고, 작업의 성공 여부를 확인하고, 구성된 경우 작업을 다시 시도하는 방법을 관리하는 처리기입니다.

Laravel은 기본적으로 다음 대기열 드라이버를 지원합니다.

sync

동기화 또는 동기식은 기존 프로세스에서 대기중인 작업을 실행하는 기본 대기열 드라이버입니다. 이 드라이버를 사용하면 대기중인 작업이 즉시 실행되므로 실제로 대기열이 없습니다. 이 기능은 로컬 또는 테스트 목적에 유용하지만 큐를 설정하는 것의 성능 이점을 제거하므로 프로덕션 환경에서는 권장되지 않습니다.

database

이 드라이버는 대기중인 작업을 데이터베이스에 저장합니다. 이 드라이버를 활성화하기 전에 대기중인 작업과 실패한 작업을 저장할 데이터베이스 테이블을 만들어야합니다.

php artisan queue:table
php artisan migrate

sqs

이 큐 드라이버는 Amazon의 Simple Queue Service 를 사용하여 대기중인 작업을 관리합니다. 이 작업을 활성화하기 전에 다음 작곡자 패키지를 설치해야합니다. aws/aws-sdk-php ~3.0

대기열 작업에 지연을 사용하려는 경우 Amazon SQS는 최대 지연 시간을 15 분만 지원합니다.

iron

이 큐 드라이버는 Iron 을 사용하여 대기중인 작업을 관리합니다.

redis

이 큐 드라이버는 Redis 인스턴스를 사용하여 대기중인 작업을 관리합니다. 이 대기열 드라이버를 사용하기 전에 Redis 사본을 구성하고 다음 predis/predis ~1.0 종속성을 설치해야합니다. predis/predis ~1.0

beanstalkd

이 큐 드라이버는 Beanstalk 인스턴스를 사용하여 대기중인 작업을 관리합니다. 이 큐 드라이버를 사용하기 전에 Beanstalk 복사본을 구성하고 다음과 같은 pda/pheanstalk ~3.0 종속성을 설치해야합니다. pda/pheanstalk ~3.0

null

대기열 드라이버로 null을 지정하면 대기중인 작업이 삭제됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow