안녕하세요 여러분! 오늘은 Laravel에서 예약된 작업을 생성하는 과정을 안내해 드리겠습니다. 사용자에게 매일 마케팅 이메일을 보내는 예를 들어보겠습니다.
먼저 다음 Artisan 명령을 사용하여 새로운 Mailable 클래스를 생성해 보겠습니다.
이 명령은 App/Mail 디렉토리에 새로운 Mailable 클래스를 생성하고 resources/views/mail/ 디렉토리에 해당 뷰 파일 daily-marketing-email.blade.php를 생성합니다. 이 보기 파일 내에서 이메일 내용을 사용자 정의할 수 있습니다.
다음으로 DailyMarketingEmail 전송을 처리하는 Artisan 명령을 생성하겠습니다. 다음 명령을 실행하세요:
이 명령은 app/Console/Commands 디렉터리에 새 명령 클래스를 생성합니다.
명령을 생성한 후 생성된 클래스에 두 가지 주요 속성이 표시됩니다.
protected $signature: Artisan 명령의 이름과 서명을 정의합니다.
protected $description: 명령에 대한 설명을 제공합니다.
이 클래스의 핸들 메소드는 명령의 논리를 정의하는 곳입니다.
모든 것이 설정된 후 다음을 실행하여 모든 Artisan 명령을 나열할 수 있습니다.
php 장인
목록에 명령이 표시됩니다.
이제 마케팅 이메일을 보내는 핸들 메소드 내 논리를 정의해 보겠습니다.
handle 메소드에서는 데이터베이스에서 모든 사용자를 검색하고 각 사용자에게 DailyMarketingEmail을 보냅니다.
다음을 실행하여 명령을 수동으로 테스트할 수 있습니다.
Mailtrap 또는 MailHog와 같은 도구를 사용하여 테스트 중에 전송된 이메일을 확인하고 확인하는 것을 고려해 보세요.
마지막으로 이 이메일을 매일 자동으로 보내려면 app/Console/ 디렉토리에 있는 Kernel.php 파일의 Schedule 메소드에서 명령을 예약해야 합니다.
여기에서는 dailyAt('08:30') 메서드를 사용하여 매일 오전 8시 30분에 명령이 실행되도록 예약합니다. 필요에 따라 시간을 조정하시면 됩니다.
이메일 대기열: 사용자 수가 많은 경우 이메일을 한꺼번에 보내는 것보다 대기열에 넣어 두는 것이 좋습니다. 이는 Mailable 클래스에 ShouldQueue 인터페이스를 구현하여 수행할 수 있습니다.
성능 고려 사항: 대규모 사용자 기반의 경우 효율적인 성능을 보장하기 위해 데이터베이스 쿼리 및 이메일 전송 프로세스를 최적화하는 것을 고려하십시오.
위 내용은 Laravel에서 예약된 작업을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!