인터넷 산업의 지속적인 발전으로 인해 당사 웹사이트는 점점 더 복잡해지고 방문 횟수도 증가하고 있습니다. 동시성이 높은 경우, 많은 시간이 소요되는 작업을 처리하는 것은 매우 어려운 작업이므로 비즈니스가 정체되고 차단될 수 있습니다. 이 문제를 해결하기 위해 Laravel은 사용자가 정체감을 느끼지 않도록 일부 비동기 및 연기 가능한 작업을 처리하는 데 사용할 수 있는 대기열 기능을 제공합니다. 다음으로 laravel queue 사용법을 배워보겠습니다.
1. 대기열 설치
1. 대기열 패키지 설치
Laravel에서 대기열은 Laravel 대기열 작업 패키지에 배치됩니다.
composer require 조명/대기열
2 . 대기열 공급자 추가
Laravel은 데이터베이스, Redis, Beanstalkd 등을 포함한 여러 대기열 백엔드를 지원합니다. config/queue.php에서 대기열 공급자를 구성해야 합니다. 예를 들어 Redis 대기열 공급자를 사용할 수 있습니다.
'connections' => [
'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'queue' => 'default', 'retry_after' => 90, 'block_for' => null, ],
],
2. 작업 생성
대기열은 장기 실행 작업을 처리하도록 설계되었으며 이는 모든 작업 또는 주문이 될 수 있습니다. 명령줄을 사용하여 새 대기열 작업을 생성할 수 있습니다.
php artisan make:job SendEmail
생성된 대기열 작업 클래스는 app/Jobs 디렉터리에 위치합니다. 수동으로 생성된 SendEmail 작업 클래스는 기본 클래스로 보입니다.
ad99c91eba99bc2abdfd521e2f9a1ee7onQueue('emails')->delay(now()-> ; addSeconds(10));
4. 대기열 실행
작업을 대기열에 푸시했습니다. 이제 대기열을 실행하고 작업을 처리해야 합니다. Laravel에서는 Artisan 명령을 사용하여 대기열 프로세서를 시작할 수 있습니다:
php artisan queue:work
기본적으로 대기열 프로세서는 "default"라는 대기열 공급자를 사용합니다. "--queue" 옵션을 사용하여 프로세서 처리를 위한 대기열을 설정할 수 있습니다. 예를 들어, 메일 큐로 작업하려면:
php artisan queue:work --queue=emails
사용 가능한 모든 프로세서를 사용하여 큐를 차례로 처리하려면 "--daemon" 옵션을 사용할 수 있습니다. 이렇게 하면 프로세서 하나가 죽어도 프로세서 실행이 중단되지 않습니다.
php artisan queue:work --daemon
큐 프로세서에는 다른 많은 옵션이 있습니다. php artisan queue:work --help 명령을 사용하면 모든 옵션과 관련 정보를 볼 수 있습니다.
5. 요약
이상은 라라벨 큐를 사용하는 단계입니다. 라라벨 큐를 사용하면 많은 시간이 소요되는 작업을 쉽게 처리할 수 있어 애플리케이션의 효율성과 응답 속도가 향상됩니다. 대기열에 대한 더 자세한 내용과 옵션을 알고 싶다면 공식 Laravel 문서를 확인하세요.
위 내용은 라라벨 큐를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!