> 백엔드 개발 > PHP 튜토리얼 > 대기열을 사용하여 Laravel의 작업을 연기합니다

대기열을 사용하여 Laravel의 작업을 연기합니다

William Shakespeare
풀어 주다: 2025-03-07 01:16:10
원래의
547명이 탐색했습니다.

Deferring Tasks in Laravel Using Queues 이 기사는 사용자 경험과 웹 사이트 성능을 향상시키기 위해 계산 집약적 작업을 연기하는 강력한 도구 인 Laravel의 대기열 API를 탐색합니다. 우리는 주요 개념을 다루고 실용적인 예로 그것들을 설명합니다.

웹 사이트 속도는 SEO 및 사용자 만족도에 큰 영향을 미칩니다. 느린 페이지로드 시간은 종종 자원이 많은 코드 블록에서 비롯됩니다. 솔루션? 전반적인 속도를 향상시키기 위해 비정규 작업을 연기합니다. Laravel의 대기열 API는 이것을 달성 할 수있는 간소화 된 방법을 제공합니다. Laravel의 대기열 API는 대기열에 추가 된 작업을 관리합니다. 이 대기열은 연결과 관련이 있으며, 이는 특정 큐 드라이버를 사용합니다. 구성 요소를 분해합시다 :

큐 드라이버 데이터베이스 연결과 유사하게 큐 API는 데이터베이스, Beanstalkd, SQS 및 Redis를 포함한 다양한 드라이버를 지원합니다. 드라이버는 큐 정보가 저장된 위치를 결정합니다 (예 : 데이터베이스 또는 Redis 서버). 두 명의 특수 드라이버 인 는 테스트에 유용합니다. 작업 실행을 건너 뜁니다.

연결 큐 구성에는 기본 연결을 지정해야합니다. 이 연결은 다음을 정의합니다

사용하는 대기열 드라이버 드라이버 별 구성 설정.

새 작업의 기본 대기열 이름

대기열

달리 지정되지 않는 한 작업이 기본 대기열에 추가됩니다.

이제, 실제 예제 : 이미지 썸네일 생성. 를 만들어 봅시다 첫 번째 대기열 작업 생성 여러 이미지 썸네일을 실시간으로 생성하면 특히 큰 이미지 또는 많은 썸네일 크기로 사용자 경험에 부정적인 영향을 줄 수 있습니다. 실시간 처리 대신이 작업을 대기열로 연기합니다. 이 접근법은 메인 페이지가 빠르게로드됨에 따라 우수한 사용자 경험을 제공하고 축소판 생성이 비동기식으로 발생합니다. 이미지 모델 생성 먼저, 업로드 된 이미지를 관리하기 위해

모델을 만들 것입니다.

이것은 null 모델과 마이그레이션 파일을 생성합니다. 원래 이미지 경로를 포함하려면 마이그레이션 (null 데이터베이스/마이그레이션/yyyy_mm_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_dd_ddd_dd_dd_dd_dd_dd_dd_dd_dd_dd_ddd_ddd_ddd_ddd_ddd_ddd_images.php)을 수정하십시오.

마이그레이션을 실행하십시오 :

라 라벨 작업 생성 우리는 썸네일 처리에 중재 이미지 라이브러리를 사용합니다. 작곡가를 통해 설치하십시오 :

장인 명령을 사용하여 작업을 만듭니다

의 내용을 다음과 같이 대체하십시오
  • 메소드에는 축소판 생성 로직이 포함되어 있습니다 작업 테스트 간단한 이미지 업로드 양식을 작성하겠습니다. 컨트롤러를 만듭니다 ( app/http/controllers/imagecontroller.php ) :
    php artisan make:model Image --migration
    로그인 후 복사
    view ()를 생성하고 lours/web.php : 에 경로를 추가하십시오 메소드는 파일 업로드, 데이터베이스 항목을 처리하고 작업을 발송합니다. 업로드 후 데이터베이스 쿼리를 사용하여 테이블에 작업의 추가를 확인하십시오. 대기열 작업자 대기열 작업자는 대기열 작업을 처리합니다. 시작하십시오 : 이 명령은 일자리가 보류중인 작업을 처리합니다. 출력에는 작업 처리 상태가 표시됩니다. 지속적인 백그라운드 처리를 위해서는 감독자, 서커스 또는 이와 유사한 프로세스 관리자를 사용하십시오.
    <?php
    // database/migrations/YYYY_MM_DD_HHMMSS_create_images_table.php
    // ...
    $table->string('org_path');
    // ...
    ?>
    로그인 후 복사
    결론 Laravel의 대기열 API는 리소스 집약적 작업을 효율적으로 처리하여 사용자 경험을 향상시킵니다. 이 기사는 기본적인 이해와 실질적인 구현 예를 제공했습니다. 추가 학습을 위해 Envato Market에서 자원을 탐색하십시오

    위 내용은 대기열을 사용하여 Laravel의 작업을 연기합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿