supabase-keepalive

개발 중

무료 데이터베이스가 쉬다가 잠들지 않게 6시간마다 깨우는 자동 도구

·

마지막 작업 43일 전

누구의 어떤 문제를 푸나

무료로 빌려 쓰는 데이터베이스는 일주일 동안 쓰임이 적으면 자동으로 잠듭니다. 잠들면 그 데이터베이스에 기대는 서비스가 멈출 수 있습니다. 9월 15일에는 실제로 쓰이던 업무용 서비스 하나가 이렇게 멈췄고, 다시 켜는 것은 관리 화면에서 손으로만 할 수 있었습니다. 이 도구는 여러 데이터베이스를 정해진 시간마다 살짝 건드려 "아직 쓰고 있다"는 흔적을 남깁니다.

데이터베이스: 사이트의 회원·글 같은 기록을 담아 두는 인터넷 서랍장. Supabase는 이 서랍장과 로그인 기능을 함께 빌려 주는 서비스이고, 일주일 규칙은 이곳 무료 요금제 규칙입니다.

지금 어디까지 왔나

  • 내부에서 쓰는 중입니다. 깃허브의 자동 실행 기능(GitHub Actions)이 대상 7곳을 차례로 건드립니다. 예약은 6시간마다인데, 실행이 밀려 실제로는 하루 2~5번 돌았습니다.

  • 처음에는 3일마다 돌렸습니다. 그런데 정상 응답을 받았던 2곳이 3일 뒤 잠들었습니다. 공식 안내는 "날마다 몇 번의 요청"이면 보통 충분하다고 합니다. 그래서 9월 27일 하루 4번으로 늘렸습니다. 바꾼 다음 날 업무용 1곳이 더 잠들었습니다.

  • 설명서(README)에는 매일 한 번 깨운 다른 프로젝트(여로)가 5주 동안 잠들지 않았다고 적혀 있습니다. 하지만 여로의 실행 기록을 보면 9월 15일 전까지는 깨우기가 매번 실패했습니다(10월 20일 확인). 하루 한 번이면 충분한지는 아직 모릅니다.

  • 잠든 3곳 중 다시 켜진 2곳은 10월 3일부터 16일 넘게 매번 응답했습니다. 나머지 업무용 1곳은 아직 다시 켜지지 않았습니다. 그래서 10월 20일 새벽 실행에서는 7곳 중 6곳만 응답했고, 결과는 "실패"였습니다.

할 수 있는 것

  • 계정이 달라도 여러 데이터베이스를 한 번에 건드립니다. 이 사이트도 대상입니다.

  • 읽기 전용에 가까운 열쇠만 씁니다. 관리자급 열쇠가 섞여 있으면 아예 시작하지 않습니다.

  • 기록에는 이름·응답 상태·걸린 시간만 남깁니다. 열쇠와 주소는 남기지 않습니다.

  • 한 곳이라도 실패하면 "실패"로 끝나고, 깃허브가 메일로 알려 줍니다.

사람과 AI의 역할

구분

맡은 일

나

멈추면 안 되는 서비스를 짚었습니다. 백업까지는 필요 없다고 확인해, 범위를 "멈추지 않게 하기"로 좁혔습니다. 깃허브 도구 로그인은 직접 했습니다(메티스 9월 27일 작업일지).

AI

스크립트와 자동 실행 설정을 만들었습니다. 일부러 실패를 만들어 경보가 오는지 시험했습니다. 윈도우에서만 생기던 종료 오류를 고쳤습니다.

사람이 다시 확인한 것

기록 없음.

아직 확인 못 한 것

하루 4번이 늘 충분한지는 모릅니다. 다시 켠 2곳을 16일 지켜본 결과뿐입니다. 무료라서 백업은 없습니다.

다음에 할 일

  • 아직 잠들어 있는 업무용 1곳을 관리 화면에서 다시 켜고, 7일 이상 잠들지 않는지 지켜보기.

  • 읽기 권한을 열어 두지 않은 프로젝트에 빈 확인용 표를 만들어, 진짜 정상 응답을 받게 하기.

만든 도구

Node.jsGitHub ActionsSupabase
공유

이 프로젝트의 글