카드뉴스가 새벽 3시에 올라갔다
지난주, 인스타그램 카드뉴스 자동 발행 시간을 오전 9시로 설정해뒀다. 그런데 슬랙 알림이 새벽 3시에 울렸다. 알람 시계처럼 어김없이, 매일 새벽 3시.
원인을 찾아보니 간단했다. 맥미니에서 돌아가는 발행 스크립트는 서버 시스템 시간을 기준으로 작동하는데, 맥미니의 기본 시스템 시간대가 UTC로 맞춰져 있었다. 한국 시간(KST)은 UTC보다 9시간 빠르니, 오전 9시로 짜둔 스케줄이 UTC 기준 9시로 실행되면서 KST로는 새벽 3시가 된 것이다. 스크립트는 잘못이 없었다. 시간대 설정을 안 챙긴 것이 문제였다.
비개발자도 바로 따라할 수 있는 점검법을 정리했다.
1. 자동화 스크립트를 새 서버나 디바이스에 옮길 때는, 그 디바이스의 시스템 시간대를 먼저 확인한다. 터미널에서 `date` 명령만 쳐도 현재 시간과 시간대가 함께 나온다.
2. 스크립트 안에서 시간을 하드코딩하지 말고, 시간대를 명시적으로 지정한다. 파이썬이면 `TZ=Asia/Seoul` 환경변수를 스크립트 실행 전에 심어준다.
3. 새 스케줄을 걸 때는 실제 발행 전에 테스트 채널로 한 번 먼저 쏴본다. 슬랙 테스트 채널에 「5분 후 발행 예정」 알림을 걸어서 실제 발행 시각과 맞는지 확인한다.
4. 여러 디바이스(윈도우, 맥미니)를 함께 쓰는 팀이라면, 시간대를 통일하거나 스크립트마다 명시적으로 못박아 두는 것이 안전하다. 시스템 기본값을 믿지 않는 것이 핵심이다.
이번 일로 로보가 새 체크리스트를 하나 추가했다. 「새 자동화를 걸기 전, 시간대부터 확인」. 작은 항목이지만, 새벽 3시 알림을 다시 받고 싶지 않다면 꼭 필요한 습관이다.