티스토리 뷰
라라벨 프레임워크와 관련된 정보는 라라벨코리아 사이트를 통해서 번역된 매뉴얼을 확인하는것이 가장 빠르고 정확합니다.
자세한 사이트 정보는 포스팅 하단에 추가해두었으니 참고 바랍니다.
스케쥴 정의
App\Console\Kernel 의 schedule 메소드에 필요한 스케쥴 작업을 정의합니다.
스케쥴 작업은 다음과 같이 선언하여
예시> $schedule->command('signature')->작업주기 옵션();
- daily(): 자정기준 하루 한번 실행
- hourlyAt(15) : 매시 15분 마다 실행
App\Console\Commands\스케쥴 생성 후, 해당 메서드 작성 시 signature 를 지정해둡니다.
해당 signature 는 App\Console\Kernel 의 schedule 메소드 내, 스케쥴 작업 정의 시 선언합니다.
예시> protected $signature = 'kairspec:getMsrstnInfoAll';
배치 등록
보통 서버에서 스케쥴링 작업 할때, 각 작업마다 crontab 에 등록하여 사용하기 때문에 관리 및 운영시 주의가 필요하며 번거롭습니다. 라라벨 프레임워크에서는 Crontab 에 스케쥴 명령어 schedule:run 만 등록해두면, 스케쥴 주기 옵션에 맞춰 작업을 수행합니다.
// Laravel Scheduler
* * * * * cd /project-path/ && php artisan schedule:run >> ./storage/logs/crond.log 2>&1
수동실행
아티즌 명령어를 통해 수동으로 스케쥴 작업을 실행할 수 있습니다. 이는, 스케쥴링 주기 옵션을 대기하지 않고 개발 단계에서 작업을 할때 유용하게 활용됩니다.
App\Console\Commands\스케쥴 생성 후, 해당 메서드 작성 시 선언한 signature 를 사용합니다.
예시> protected $signature = 'kairspec:getMsrstnInfoAll'; 일때 아래와 같이 수동으로 실행 시킵니다.
php artisan kairspec:getMsrstnInfoAll
'프로그래밍 > PHP' 카테고리의 다른 글
php simplexml_load_string - xml 데이터 배열값으로 변환 (0) | 2021.08.10 |
---|---|
php DOMDocument 이용하여, class 데이터 가져오기 (1) | 2021.08.09 |
[PHP] ssh2 모듈 추가하기 (0) | 2021.04.09 |
[Laravel] Schedule 설정 및 Command 개별 실행 (0) | 2021.03.24 |
[PHP] mysqli 연동해보자. (0) | 2017.12.03 |