[Heroku] Scheduler를 이용해서 반복 작업 돌리기
[1] heroku의 Add On
헤로쿠에서는
앱에서 사용하고 싶은 추가 기능을 add-on 할 수 있습니다.
Add-on elements (elements.heroku.com/addons) 에서 검색해서
원하는 기능을 추가하면 됩니다.
나의 앱 > Resources > Add-ons 에 들어가서 추가하면 됩니다.
[2] Add On에서 Scheduler 검색
저는 특정 작업을 매일마다 반복해주는 기능이 필요해서 Scheduler라고 검색을 했어요
저는 이중에 꾸준히 무료로 쓸 수 있는 Heroku Scheduler를 선택해줬습니다. (다른 것은 유료거나 trial만 무료더라구요..)
하지만 무료여도 Install 누르면
크레딧 카드를 등록해야한다고 나옵니다.
dashboard.heroku.com/account/billing 여기서 Add Credit Card 눌러서 등록해주세요
등록 후, 다시 install을 눌러주시면 설치 끝-!
[3] Scheduled Job 등록하기
제대로 설치가 완료되었으면 Add-ons에 뜨게 되는데요,
주황색 네모를 눌러주세요
그럼 이 페이지로 이동하는데 Create Job을 눌러주세요~
그럼 Job Editor가 뜨는데,
테스트 해야하니까 10분마다 실행되게 해주고
Run Command에는 커맨드에서 실행될 명령어를 입력해주면 됩니다.
저는 Custom Management Command 만들기 에서 만들었던 커스텀 커맨드를 실행하도록 해주었어요
저 명령어는 '헤로쿠안뇽' 이라는 question을 DB에 추가하는 명령어인데,
10분 지나고 admin 사이트에 들어가보면 잘추가되어있습니다.
10분을 더 기다려보면 또 추가되었는데 10분마다 잘 돌아가는 것을 확인할 수 있습니다.
이제 시간을 Daily로 바꿔서
실제로 날마다 실행되기 원하는 작업을 해주도록 하면 되겠네요 ☺️
[ 추가 ] 로그보기
이 명령어를 터미널에 입력해서 로그보기를 하면
heroku logs --tail --app 앱이름
scheduled job이 실행될때 이런식의 로그도 찍힙니다.