>PHP 프레임워크 >Laravel >Laravel에서 예약된 작업을 설정하는 방법

Laravel에서 예약된 작업을 설정하는 방법

PHPz
PHPz원래의
2023-04-19 10:08:464090검색

Laravel은 PHP 기반의 오픈 소스 웹 애플리케이션 프레임워크입니다. 라우팅, 세션 관리, 인증 등과 같은 일반적인 웹 개발 작업을 크게 단순화합니다. Laravel은 또한 사용자가 지정된 시간에 프로그램 코드를 쉽게 실행할 수 있도록 하는 작업 스케줄러라는 도구를 제공합니다. 이 글에서는 Laravel의 작업 스케줄러와 예약된 작업을 설정하는 방법을 소개합니다.

Laravel 작업 스케줄러란 무엇입니까

작업 스케줄러는 사용자가 지정된 시간에 프로그램 코드를 자동으로 실행할 수 있도록 하는 Laravel 프레임워크의 일부입니다. 이는 일회성 이벤트이거나 반복되는 간격 이벤트일 수 있습니다. 작업 스케줄러는 예약된 작업을 관리하는 여러 가지 방법을 제공하므로 쉽게 사용하고 디버그할 수 있습니다. Laravel에서 작업 스케줄러는 "스케줄러"라는 개체를 사용하여 예약된 작업을 관리합니다.

Laravel의 작업 스케줄러

Laravel 작업 스케줄러는 다음 세 가지 주요 구성 요소를 사용합니다.

Scheduler

Scheduler는 작업 스케줄러의 핵심 구성 요소입니다. 계획된 작업의 일정을 계획하고 관리하는 역할을 담당하는 개체입니다. 스케줄러는 일정과 기간에 작업을 할당하는 간단한 방법을 제공합니다. 작업이 할당되면 스케줄러는 해당 작업이 지정된 시간에 실행되도록 하는 책임을 집니다. 스케줄러는 명령, 클로저 및 메서드 호출을 포함한 여러 작업 유형을 지원합니다.

Schedule

일정은 예약된 작업의 실행 시간을 지정하는 데 사용되는 개체입니다. 시간표는 작업을 수행해야 하는 시기를 지정하는 직관적인 방법을 제공합니다. 스케줄러는 작업이 예정된 시간 내에 실행되도록 특정 일정에 작업을 할당할 수 있습니다.

Listener

리스너는 예약된 작업의 실행 결과를 기록하는 개체입니다. 작업이 비정상적이거나 계획대로 실행되지 않는 경우 리스너는 관련 이벤트를 기록합니다. 이를 통해 사용자는 언제 작업 타이밍을 수정해야 하는지 또는 기타 설정을 조정해야 하는지 판단할 수 있습니다.

Laravel 예약 작업을 설정하는 방법

Laravel에서 예약 작업을 설정하려면 다음 단계를 완료해야 합니다.

1단계: 컨트롤러 및 명령 만들기

먼저, 다음 단계를 수행할 컨트롤러와 명령을 만들어야 합니다. 실제 작업을 수행합니다. 이 예에서는 "TaskController" 컨트롤러를 생성하고 "TaskCommand" 명령을 할당합니다.

php artisan make:controller TaskController
php artisan make:command TaskCommand

2단계: 명령 편집

TaskCommand.php 파일을 열고 "fire" 메서드를 업데이트하여 실제 작업이 실행되도록 합니다. 이 예에서는 현재 타임스탬프를 파일에 쓰는 작업을 설정했습니다.

public function fire()
{
    file_put_contents(storage_path().'/task.log', time(). "\n", FILE_APPEND);
}

3단계: 스케줄러 작업 생성

app/Console/Kernel.php 파일을 열고 새 작업을 추가하세요. 이 예에서는 1분마다 실행되도록 작업을 설정했습니다.

protected function schedule(Schedule $schedule)
{
    $schedule->command('task')->everyMinute();
}

4단계: 작업 실행

마지막으로 다음 명령을 사용하여 작업 스케줄러를 실행할 수 있습니다.

php artisan schedule:run

이 명령은 Laravel 작업 스케줄러를 스캔하고 실행해야 하는 작업을 실행합니다.

결론

Laravel Task Scheduler를 사용하면 정기적으로 반복되는 작업을 쉽게 실행할 수 있습니다. Laravel은 예약된 작업을 매우 간단하게 설정하고 관리할 수 있는 강력한 작업 스케줄러를 제공합니다. 작업을 자동화해야 한다면 Laravel Task Scheduler가 아마도 최선의 선택일 것입니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.