JJONG`sFACTORY
반응형

스케줄러를 큐로 돌려서 서버 부하를 최소화 하자!

 

어제 스케줄러에 대하여 포스팅을 했었다.

이미지 업로드, 대량의 데이터 연산 처리가 필요하기 때문에 queue를 이용하여 작업을 진행해야 한다고 했었었는데, Schedule에서는 기본적으로 queue를 지원해준다.

 

해당 기능을 이용하기 위해서는, 일단 laravel queue 세팅을 진행해 줘야 한다.

bash
php artisan queue:table

데이터베이스에 큐 대기열을 넣어주는 테이블 생성 코드를 저절로 만들어 준다.

당연히 이후 migrate를 시켜주면 테이블이 생성됨을 확인할 수 있다.

bash
php artisan migrate

이후, .env 파일에 다음을 추가해 준다.

bash
QUEUE_CONNECTION=database

이렇게 하면, 설정 완료!

 

사용방법

 

사용방법은 굉장히 간단한데, 기존에 작성해둔 스케줄러의 실행 명령어를 job으로만 변경해주면 끝이다.

php
$schedule->job(function() { $setDataController = new SetDataController(); $setDataController->setBuildingsSync(); $setDataController->setItemSync(); $setDataController->setOperatorKey(); $setDataController->setCharSync(); })->dailyAt('0:10');

 

반응형