-
Notifications
You must be signed in to change notification settings - Fork 0
DOCS. 베스트 상품 갱신하는 방법
YoonMinSang edited this page Aug 30, 2021
·
10 revisions
-
판매한 물품의 수를 내림차순으로 정렬하고 상위 30개의 아이템을 is_best 1로 설정하고 나머지 아이템을 is_best 0으로 설정한다.
-
크론탭을 이용해 5분마다 갱신한다.
-
아이템이 엄청나게 많다면 유저가 없는 시간에 업데이트를 할 수도 있지만 규모가 많이 큰 회사가 아닌 이상 그럴 필요는 없다.
-
mysql의 데이터 처리 능력은 그정도로 나쁘지 않다.
-
서브쿼리문을 한번 더 써주는 이유는 mysql이 지원하지 않기 때문이다.(오라클은 가능하다.)
-
에러 발생시에 크론탭에 로그를 적어줌.
-
deploy.sh에 명령어 작성
vi deploy.sh
sudo mysql;
USE testdb;
UPDATE Items SET isBest = CASE
WHEN id IN (SELECT id FROM (SELECT id FROM Items ORDER BY saleCount desc limit 30)a) THEN 1
ELSE 0
END;
exit;
crontab에 5문마다 실행하는 명령어 작성
crontab-e
5 * * * * /home/ubuntu/deploy.sh >> /home/ubuntu/deploy.sh.log 2>&1
chmod +x deploy.sh