Laravel에서 예약된 작업을 만드는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-08-30 06:39:32
원래의
326명이 탐색했습니다.

안녕하세요 여러분! 오늘은 Laravel에서 예약된 작업을 생성하는 과정을 안내해 드리겠습니다. 사용자에게 매일 마케팅 이메일을 보내는 예를 들어보겠습니다.

1단계: 이메일 클래스 생성

먼저 다음 Artisan 명령을 사용하여 새로운 Mailable 클래스를 생성해 보겠습니다.

으아아아

이 명령은 App/Mail 디렉토리에 새로운 Mailable 클래스를 생성하고 resources/views/mail/ 디렉토리에 해당 뷰 파일 daily-marketing-email.blade.php를 생성합니다. 이 보기 파일 내에서 이메일 내용을 사용자 정의할 수 있습니다.

2단계: 장인 명령 생성

다음으로 DailyMarketingEmail 전송을 처리하는 Artisan 명령을 생성하겠습니다. 다음 명령을 실행하세요:

으아아아

이 명령은 app/Console/Commands 디렉터리에 새 명령 클래스를 생성합니다.

3단계: 명령 구조 이해

명령을 생성한 후 생성된 클래스에 두 가지 주요 속성이 표시됩니다.

protected $signature: Artisan 명령의 이름과 서명을 정의합니다.
protected $description: 명령에 대한 설명을 제공합니다.
이 클래스의 핸들 메소드는 명령의 논리를 정의하는 곳입니다.

모든 것이 설정된 후 다음을 실행하여 모든 Artisan 명령을 나열할 수 있습니다.

php 장인

목록에 명령이 표시됩니다.

How to create a scheduled Task in Laravel ?

4단계: 명령 논리 구현

이제 마케팅 이메일을 보내는 핸들 메소드 내 논리를 정의해 보겠습니다.

으아아아

handle 메소드에서는 데이터베이스에서 모든 사용자를 검색하고 각 사용자에게 DailyMarketingEmail을 보냅니다.

5단계: 명령 테스트

다음을 실행하여 명령을 수동으로 테스트할 수 있습니다.

으아아아

Mailtrap 또는 MailHog와 같은 도구를 사용하여 테스트 중에 전송된 이메일을 확인하고 확인하는 것을 고려해 보세요.

6단계: 명령 예약

마지막으로 이 이메일을 매일 자동으로 보내려면 app/Console/ 디렉토리에 있는 Kernel.php 파일의 Schedule 메소드에서 명령을 예약해야 합니다.

으아아아

여기에서는 dailyAt('08:30') 메서드를 사용하여 매일 오전 8시 30분에 명령이 실행되도록 예약합니다. 필요에 따라 시간을 조정하시면 됩니다.

추가 제안:

  1. 이메일 대기열: 사용자 수가 많은 경우 이메일을 한꺼번에 보내는 것보다 대기열에 넣어 두는 것이 좋습니다. 이는 Mailable 클래스에 ShouldQueue 인터페이스를 구현하여 수행할 수 있습니다.

  2. 성능 고려 사항: 대규모 사용자 기반의 경우 효율적인 성능을 보장하기 위해 데이터베이스 쿼리 및 이메일 전송 프로세스를 최적화하는 것을 고려하십시오.

위 내용은 Laravel에서 예약된 작업을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!