MYSQL에서 이벤트 스케줄링이 가능했다...

BigChoi·2021년 12월 2일
1

mysql

목록 보기
1/2
post-thumbnail

고민의 시작..

업무 특성상 행사용 랜딩페이지와 이벤트 개발을 하다보니
행사기간동안 정말 자주 sql에 접속해서 이벤트 참여 현황을 조회해서 보고할 일이 많았다.

룰렛 이벤트를 운영할 때에는 이벤트 참여하는 인원을 예측을 할 수 없을 뿐더러, 모든 상품을 소진시키기 위해서
주기적으로 모니터링하여 매일 자정 확률을 업데이트해줘야하는 이슈가 생기기도 했다.

독학으로 시작해서 개발짬밥 1년정도가 지나다 보니.. 위의 문제를 해결하고 싶은 욕구가 솟구쳤다..!
(태생이 개발자 체질인가...?)

그렇게 조금만 찾아보니 sql에서 스케줄러를 지원하고 있었다...왜 나는 찾아볼 생각을 못했을까..?

스케줄러를 등록하는 방법도 정말 간단하다.

먼저 스케줄러를 사용하기 위해서는 root권한이 필요하다.(때문에 카페24의 웹호스팅 같은 호스팅환경에서는 사용이 불가능하다.)

먼저 터미널 혹은 사용하는 DB툴, phpmyadmin에서 db에 접속 후
쿼리를 날려보자.

show variables like 'event%'

아마 대부분이 이벤트 스케줄러가 꺼져있을 것이다.

루트 권한을 가진 계정으로 접속되어 있다면

set global event_scheduler = ON

쿼리를 날려서 스케줄러를 켜주면 된다. 그러면 이때부터 이벤트 쿼리를 사용할 수 있다.

GUI 툴에서 이벤트 등록을 해줘도 되고, 터미널에서 직접 이벤트 스케줄러를 등록해서 사용할 수 있다.

create event
{이벤트이름} on scheduler {주기} starts {날짜+시간}
do 
{실행할 쿼리}

이런 식으로 스케줄러를 등록해서 사용하면 된다!

추후에 사용할 일이 있으면 실제 프로젝트에 접목해봐야겠다!

profile
천천히 한 걸음씩

0개의 댓글