-
데브 옵스에서 메일 서버가 ECS에서 제대로 돌지 않아 장기간 테스트를 해보고 싶다고 해서 1시간 마다, 메일 전송 요청을 하는 코드를 요청했다.
-
처음에 스크립트로 작성할까 하다가, DBMS에도 이러한 비슷한 기능을 찾아보니까 이벤트라는 것이 존재하였다. 귀찮게, 스크립트를 작성하는 것 보다 이벤트를 이용하는 것이 편할 것 같아서 작성해본다.
# 이벤트 설정 ON
SET GLOBAL EVENT_SCHEDULER = ON;
# 이벤트 설정 ON 확인
SHOW VARIABLES WHERE VARIABLE_NAME = 'EVENT_SCHEDULER';
# 이벤트 생성
CREATE EVENT IF NOT EXISTS LOOP_INSERT_SCH_EMAIL
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO
<원하는 SQL 문을 여기다가 작성하면 된다.>
# 생성된 이벤트 조회
SHOW EVENTS;
# 마지막으로 실행된 이벤트 조회
SELECT LAST_EXECUTED FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'LOOP_INSERT_SCH_EMAIL';
# 이벤트 삭제
DROP EVENT LOOP_INSERT_SCH_EMAIL
- 위는 현재시간 부터 한 시간 마다, 특정 쿼리가 동작하도록 작성된 이벤트이다. 시간은 유동적으로 넣어주면 된다.