2023년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Laravel - command 만들기

조회수: 103
요즘 생각하면서 글을 쓰면 진행이 되지 않아서 대충 쓰려고 하고 있다.
이번에도 그렇게 해보겠다.

라라벨에 코맨드(코만드)를 만들어서 사용할 때가 많을 수 있다.
보통 정해진 시간에 스케줄에 맞게 실행이 되도록 할 때 사용하면 된다.
예전에 주식 RSI 계산을 매일 하라고 세팅을 해두었었다.

최근까지 귀찮아서 방치하고 있다가 방금 하나 만들었다.
각 도시에 해당하는 장소를 카운트하는 게 시간이 꽤 걸리는 걸 파악했다.
해당 페이지에서 약 360ms 나왔다. 이걸 72ms 줄였다. 더 줄일 수 있는데 나중에 하자. 귀찮다.
아무래도 장소랑 도시가 점점 늘어지면서 점점 그렇게 되었다.

이제 매일 또는 일주일 x번 정해진 x시간에 count 시키게 적용을 할 수 있다.
우선 command를 만들기 위해서는 터미널에서 실행해야 한다.

php artisan make:command CountPlacesEachCity

그럼 app\Console\Commands 폴더 안에 CountPlacesEachCity.php 파일이 만들어진다.


protected $signature = 'count:places';

이건 command 명령 실행할 때 이름용이다.

protected $description = 'Count places each city';

이건 해당 코맨드에 대한 설명이다.

php artisan list 실행하면 이름이랑 설명이 나온다.

실행은 php artisan count:places 이렇게 하면 실행이 된다.

실행 코드는 handle()에 넣으면 된다.

public function handle() {
 // 여기에 본인이 원하는 기능 삽입
}


완성이다.

handle() 안에 모든 걸 한 곳에 넣기 싫으면 따로 로직을 빼면 된다.
예전에 Services로 따로 빼서 관리를 했다.

스케줄 적용은 따로 글 적어보겠다 다음에.
대충 글 쓰면 진도가 잘 나간다.