heartbeat μžλ™ 점검은 돌고 μžˆλŠ”λ° μ‚¬μš©μžμ—κ²ŒλŠ” HEARTBEAT_OK만 보이고, μ •μž‘ ν•΄μ•Ό ν•  μž‘μ—…μ€ ν•˜λ‚˜λ„ 이어지지 μ•ŠλŠ” μž₯면이 μžˆλ‹€. μ΄λ•Œ λ§Žμ€ μ‚¬λžŒμ΄ β€œheartbeatκ°€ μ£½μ—ˆλ‚˜?”뢀터 μ˜μ‹¬ν•˜μ§€λ§Œ, μ‹€μ œ ν˜„μž₯μ—μ„œλŠ” ν”„λ‘œμ„ΈμŠ€ μž₯애보닀 νŒμ • 둜직이 λ„ˆλ¬΄ 빨리 OK둜 λ‹«ν˜€λ²„λ¦° κ²½μš°κ°€ 훨씬 λ§Žλ‹€.

특히 운영 λ©”λͺ¨λ₯Ό λ‚ μ§œ 파일둜 μ“°λŠ”μ§€, memory/였늘.md 같은 κ³ μ • 파일둜 μ“°λŠ”μ§€, μ‹œμž‘ μ•Œλ¦Όκ³Ό μ™„λ£Œ μ•Œλ¦Όμ„ λΆ„λ¦¬ν–ˆλŠ”μ§€μ— 따라 체감이 크게 달라진닀. 여기에 ν•˜λ‚˜κ°€ 더 μžˆλ‹€. quota reset wakeupμ΄λ‚˜ scheduled reminderλ₯Ό 받은 λ’€ 였늘 κ³„νšμ„ λ‹€μ‹œ 읽지 μ•ŠμœΌλ©΄, μ΄λ²€νŠΈλŠ” 정상인데 후속 μ‹€ν–‰λ§Œ λΉ„λŠ” μž₯면이 자주 생긴닀. μ™„λ£Œ λ‘œκ·ΈλŠ” μžˆλŠ”λ° μ²΄ν¬λ°•μŠ€λ§Œ λ‹€μ‹œ [ ]둜 λ³΄μ΄λŠ” λ“œλ¦¬ν”„νŠΈ μž₯λ©΄κΉŒμ§€ ν•¨κ»˜ 보렀면 34. heartbeatμ—μ„œ μ™„λ£Œν•œ μž‘μ—…μ΄ λ‹€μ‹œ λ―Έμ™„λ£Œλ‘œ 보일 λ•Œλ₯Ό 같이 보면 원인 뢄리가 훨씬 빨라진닀. κΈ°λ³Έ ꡬ쑰가 λ¨Όμ € ν•„μš”ν•˜λ©΄ OpenClaw 06: Cron Job μžλ™ν™” κΈ°λ³Έκ³Ό OpenClaw 25: ν¬λ‘ Β·μ„œλΈŒμ—μ΄μ „νŠΈ λΆ„μ‚° μš΄μ˜μ„ λ¨Όμ € 같이 λ³΄λŠ” 편이 μ’‹λ‹€.

30초 μ§„λ‹¨ν‘œ

μ§€κΈˆ λ³΄μ΄λŠ” 증상먼저 확인할 κ²ƒλ°”λ‘œ μ΄μ–΄μ„œ ν•  일
HEARTBEAT_OK만 반볡되고 ν•  일은 남아 있음memory/였늘.md와 μ‹€μ œ λ‚ μ§œ 파일이 같은 κ³„νšμ„ 보고 μžˆλŠ”μ§€κΈ°μ€€ 파일 1개둜 맞좘 λ’€ overdue ν•­λͺ©λ§Œ λ‹€μ‹œ νŒμ •
scheduled reminderλ‚˜ quota reset μ•Œλ¦Όμ€ μ™”λŠ”λ° 싀행이 μ•ˆ λΆ™μŒμ•Œλ¦Ό 직후 였늘 κ³„νš 원본을 μž¬λ‘œλ”©ν–ˆλŠ”μ§€μ˜€λŠ˜ κ³„νš μž¬ν™•μΈ β†’ overdue νŒμ • β†’ μ‹œμž‘ μ•Œλ¦Ό μˆœμ„œ κ°•μ œ
νŒŒμΌμ€ λ°”λ€Œμ—ˆλŠ”λ° μ‚¬μš©μž 체감상 아무 일도 μ•ˆ ν•œ 것 κ°™μŒμ‹œμž‘ μ•Œλ¦Όκ³Ό μ™„λ£Œ μ•Œλ¦Όμ΄ 뢄리돼 λ‚¨λŠ”μ§€νŒŒμΌ μˆ˜μ • 전에 μ‹œμž‘ μ•Œλ¦Ό, λλ‚œ λ’€ μ™„λ£Œ μ•Œλ¦Ό μΆ”κ°€
μ˜€μ „μ—” 정상인데 μ˜€ν›„λΆ€ν„° κ°‘μžκΈ° 빈 μ‘λ‹΅μ²˜λŸΌ λ³΄μž„heartbeatλ§ˆλ‹€ 같은 μΊμ‹œ κ²°κ³Όλ₯Ό μž¬μ‚¬μš©ν•˜λŠ”μ§€λ§€ heartbeatλ§ˆλ‹€ 였늘 κ³„νš 원본을 λ‹€μ‹œ 읽기

이 ν‘œμ˜ λͺ©μ μ€ 원인을 길게 μ°Ύμ§€ μ•Šκ²Œ ν•˜λŠ” 것이닀. ν˜„μž₯μ—μ„œλŠ” HEARTBEAT_OK μžμ²΄λ³΄λ‹€ 무슨 μ‘°κ±΄μ—μ„œ OKκ°€ ν™•μ •λλŠ”μ§€λ₯Ό λ¨Όμ € μž‘μ•„μ•Ό 볡ꡬ가 빨라진닀.

이 λ¬Έμ„œλ₯Ό λ°”λ‘œ 봐야 ν•˜λŠ” μ‹ ν˜Έ

μ•„λž˜ 쀑 ν•˜λ‚˜λΌλ„ 맞으면, λ‹¨μˆœνžˆ β€œμ§€κΈˆ ν•  일 μ—†μŒβ€μœΌλ‘œ λ„˜κΈ°μ§€ 말고 heartbeat νŒμ • μˆœμ„œλ₯Ό λ‹€μ‹œ λ³΄λŠ” 편이 λΉ λ₯΄λ‹€.

  • 였늘 ν•  일 [ ] ν•­λͺ©μ΄ λΆ„λͺ… μžˆλŠ”λ°λ„ HEARTBEAT_OK만 계속 μ˜¨λ‹€.
  • μž‘μ—… νŒŒμΌμ€ μˆ˜μ •λ˜λŠ”λ° μ‚¬μš©μž μ±„λ„μ—λŠ” μ‹œμž‘/μ™„λ£Œ 흐름이 보이지 μ•ŠλŠ”λ‹€.
  • μ˜€μ „μ—λŠ” 정상인데 μ˜€ν›„λΆ€ν„° κ°‘μžκΈ° 빈 μ‘λ‹΅μ²˜λŸΌ 보인닀.
  • quota reset, scheduled reminder, cron wakeup 뒀에도 후속 μ•‘μ…˜μ΄ λΆ™μ§€ μ•ŠλŠ”λ‹€.
flowchart TD
A[Heartbeat μˆ˜μ‹ ] --> B[였늘 κ³„νš 원본 λ‹€μ‹œ 읽기]
B --> C{λ―Έμ™„λ£Œ ν•­λͺ© 쑴재?}
C -- μ•„λ‹ˆμ˜€ --> H[HEARTBEAT_OK]
C -- 예 --> D{ν˜„μž¬ μ‹œκ° μ§€λ‚œ ν•­λͺ© 쑴재?}
D -- μ•„λ‹ˆμ˜€ --> H
D -- 예 --> E[μ‹œμž‘ μ•Œλ¦Ό]
E --> F[μ‹€μ œ μž‘μ—… μ‹€ν–‰]
F --> G[μ™„λ£Œ μ•Œλ¦Ό + μ²΄ν¬λ°•μŠ€/둜그 κ°±μ‹ ]

칠판 μΉ˜νŠΈμ‹œνŠΈ

  1. heartbeatλ§ˆλ‹€ 였늘 κ³„νš 원본을 λ‹€μ‹œ μ½λŠ”λ‹€
  2. [ ] ν•­λͺ© 쀑 μ§€κΈˆ μ‹œκ°μ„ μ§€λ‚œ 것이 μžˆλŠ”μ§€ λ³Έλ‹€
  3. 있으면 HEARTBEAT_OKλ₯Ό 보내지 말고 μ‹œμž‘ μ•Œλ¦Ό β†’ μ‹€ν–‰ β†’ μ™„λ£Œ μ•Œλ¦Ό μˆœμ„œλ‘œ κ°„λ‹€
  4. 없을 λ•Œλ§Œ λ§ˆμ§€λ§‰ λ‹¨κ³„μ—μ„œ HEARTBEAT_OKλ₯Ό ν™•μ •ν•œλ‹€

10초 νŒλ‹¨: μ§€κΈˆ λ°”λ‘œ μ‹€ν–‰ λŒ€μƒμΈμ§€ λ³΄λŠ” 법

μ•„λž˜ μ„Έ μ€„λ§Œ λ§Œμ‘±ν•˜λ©΄, 이건 μ„€λͺ…이 μ•„λ‹ˆλΌ μ‹€ν–‰μœΌλ‘œ λ„˜μ–΄κ°€μ•Ό ν•œλ‹€.

  1. 였늘 κ³„νšμ— [ ]둜 남아 μžˆλ‹€.
  2. ν˜„μž¬ μ‹œκ°μ΄ μ˜ˆμ • μ‹œκ°κ³Ό κ°™κ±°λ‚˜ 지났닀.
  3. 같은 task-key μ™„λ£Œ λ‘œκ·Έκ°€ 아직 μ—†λ‹€.

예λ₯Ό λ“€μ–΄ 11:00 heartbeatμ—μ„œ [ ] 11:00 | μƒμœ„ μœ μž… νŽ˜μ΄μ§€ 리라이트 1건이 보이고 μ™„λ£Œ λ‘œκ·Έκ°€ μ—†λ‹€λ©΄, 이 μ‹œμ μ—λŠ” HEARTBEAT_OKκ°€ μ•„λ‹ˆλΌ μ¦‰μ‹œ 싀행이 λ§žλ‹€. λ°˜λŒ€λ‘œ 14:00 μž‘μ—…μ΄λΌλ©΄ 11:00μ—λŠ” 아직 OK둜 닫아도 λœλ‹€. 이 차이λ₯Ό λͺ…ν™•νžˆ 두면 κ³Όμž‰ μ‹€ν–‰κ³Ό 빈 응닡을 같이 쀄일 수 μžˆλ‹€.

μ™œ HEARTBEAT_OK만 λ°˜λ³΅λ˜λŠ”κ°€

λŒ€λΆ€λΆ„ 원인은 μ•„λž˜ μ…‹ 쀑 ν•˜λ‚˜λ‘œ μˆ˜λ ΄ν•œλ‹€.

1) 였늘 κ³„νš νŒŒμΌμ„ 잘λͺ» 읽고 μžˆλ‹€

운영 λ¬Έμ„œκ°€ memory/였늘.mdκ°€ μ•„λ‹ˆλΌ memory/YYYY-MM-DD.md ν˜•νƒœμΈλ°λ„, heartbeatκ°€ ν•œ 경둜만 κ³ μ •ν•΄μ„œ 보면 μ‹€μ œ λ―Έμ™„λ£Œ ν•­λͺ©μ„ λ†“μΉœλ‹€. 이 경우 μ‚¬λžŒ λˆˆμ—λŠ” β€œν•  일이 λΆ„λͺ… μžˆλŠ”λ° μ‹œμŠ€ν…œμ€ μ—†λ‹€κ³  ν•œλ‹€β€λ‘œ 보인닀.

μ—¬κΈ°μ„œλŠ” 파일 경둜 μžμ²΄λ³΄λ‹€ 였늘의 source of truthλ₯Ό μ–΄λ””λ‘œ λ‘˜μ§€λ₯Ό λ¨Όμ € κ³ μ •ν•΄μ•Ό ν•œλ‹€. λ‚ μ§œ νŒŒμΌμ„ κΈ°μ€€μœΌλ‘œ μš΄μ˜ν•œλ‹€λ©΄ heartbeat도 맀번 κ·Έ λ‚ μ§œ νŒŒμΌμ„ λ‹€μ‹œ μ—΄μ–΄μ•Ό ν•œλ‹€. 곡식 μ •λ³΄λŠ” 버전에 따라 λ‹¬λΌμ§ˆ 수 μžˆμœΌλ‹ˆ 운영 전에 OpenClaw docs와 OpenClaw source repoλ₯Ό ν˜„μž¬ 버전 κΈ°μ€€μœΌλ‘œ ν•¨κ»˜ λ³΄λŠ” μŠ΅κ΄€μ΄ μ•ˆμ „ν•˜λ‹€.

싀무 λ―Έλ‹ˆ 사둀

  • μ˜€μ „ 9μ‹œμ— memory/2026-04-13.md에 μž‘μ—… 3개λ₯Ό λ§Œλ“€μ—ˆλ‹€.
  • 그런데 heartbeatλŠ” 계속 memory/였늘.md만 μ°Ύμ•˜λ‹€.
  • 결과적으둜 μ‹€μ œ μž‘μ—…μ€ 남아 μžˆλŠ”λ°λ„ HEARTBEAT_OKκ°€ λ°˜λ³΅λλ‹€.

검증 포인트

  • μ‚¬λžŒμ΄ λ³΄λŠ” 였늘 κ³„νš 파일과 heartbeatκ°€ μ½λŠ” 파일이 같은지 1회 ν™•μΈν•œλ‹€.
  • λ‘˜μ΄ λ‹€λ₯΄λ©΄, 둜직 문제둜 λ¨Όμ € λΆ„λ₯˜ν•œλ‹€.

2) μ‹œκ°„ 비ꡐ가 λΉ μ Έ μžˆλ‹€

λ―Έμ™„λ£Œ ν•­λͺ©μ΄ μžˆλ‹€λŠ” μ‚¬μ‹€λ§ŒμœΌλ‘œλŠ” μ‹€ν–‰ν•˜λ©΄ μ•ˆ 되고, λ°˜λŒ€λ‘œ λ―Έμ™„λ£Œ ν•­λͺ©μ΄ μžˆμ–΄λ„ μ§€κΈˆ μ‹œκ°μ„ μ§€λ‚œ ν•­λͺ©μΈμ§€λ₯Ό ν™•μΈν•˜μ§€ μ•ŠμœΌλ©΄ μ˜μ›νžˆ λŒ€κΈ°λ§Œ ν•˜κ±°λ‚˜ μ˜μ›νžˆ OK만 보낼 수 μžˆλ‹€.

예λ₯Ό λ“€μ–΄ 14:00 μž‘μ—…μ€ 11:00 heartbeatμ—μ„œ 아직 μ‹€ν–‰ν•˜λ©΄ μ•ˆ λœλ‹€. ν•˜μ§€λ§Œ 11:00 μž‘μ—…μ€ 11:05 heartbeatμ—μ„œ λ°”λ‘œ μ‹€ν–‰ λŒ€μƒμ΄λ‹€. κ²°κ΅­ 핡심은 μ²΄ν¬λ°•μŠ€ μœ λ¬΄κ°€ μ•„λ‹ˆλΌ λ―Έμ™„λ£Œ + μ‹œκ° κ²½κ³Ό 두 쑰건을 ν•¨κ»˜ λ³΄λŠ” 것이닀.

싀무 λ―Έλ‹ˆ 사둀

  • [ ] 11:00 | μƒμœ„ μœ μž… νŽ˜μ΄μ§€ 리라이트 1건
  • 11:05인데도 μ‹œμŠ€ν…œμ΄ μ²΄ν¬λ°•μŠ€ 개수만 μ„Έκ³  μ’…λ£Œν•¨
  • μ‚¬μš©μžλŠ” β€œheartbeatκ°€ λ©μ²­ν•΄μ‘Œλ‹€β€κ³  λŠλΌμ§€λ§Œ, μ‹€μ œ λ¬Έμ œλŠ” μ‹œκ° 비ꡐ λˆ„λ½μ΄λ‹€

검증 포인트

  • ν˜„μž¬ μ‹œκ°μ΄ μ§€λ‚œ ν•­λͺ© 1개λ₯Ό 골라 μ‚¬λžŒμ΄ 직접 β€œμ΄κ±΄ μ§€κΈˆ μ‹€ν–‰ λŒ€μƒβ€μ΄λΌκ³  말할 수 μžˆμ–΄μ•Ό ν•œλ‹€.
  • κ·Έ μ„€λͺ…이 μ•ˆ 되면 OK νŒμ •μ΄ λ„ˆλ¬΄ λΉ λ₯΄λ‹€κ³  λ³Έλ‹€.

3) μ‹œμž‘ μ•Œλ¦Ό 없이 파일만 μˆ˜μ •ν•œλ‹€

μž‘μ—…μ€ μ‹€μ œλ‘œ ν–ˆλŠ”λ°λ„ μ‚¬μš©μžλŠ” 계속 HEARTBEAT_OK만 κΈ°μ–΅ν•˜λŠ” κ²½μš°κ°€ μžˆλ‹€. 이건 μ‹€ν–‰ μ‹€νŒ¨λΌκΈ°λ³΄λ‹€ 체감 μ‹€νŒ¨μ— 가깝닀.

운영 κ΄€μ μ—μ„œλŠ” μ‹œμž‘ μ•Œλ¦Όκ³Ό μ™„λ£Œ μ•Œλ¦Όμ΄ μ€‘μš”ν•˜λ‹€. μ‹œμž‘ μ•Œλ¦Όμ΄ μžˆμ–΄μ•Ό β€œμ§€κΈˆ heartbeatκ°€ 일을 μž‘μ•˜κ΅¬λ‚˜β€λ₯Ό μ•Œ 수 있고, μ™„λ£Œ μ•Œλ¦Όμ΄ μžˆμ–΄μ•Ό β€œμ‹€ν–‰ ν›„ μ²΄ν¬λ°•μŠ€κ°€ λ°”λ€Œμ—ˆκ΅¬λ‚˜β€λ₯Ό 확인할 수 μžˆλ‹€. CLI status λ¬Έμ„œμ™€ sessions λ¬Έμ„œλŠ” ν˜„μž¬ μƒνƒœΒ·μ„Έμ…˜ λ²”μœ„λ₯Ό μž¬ν™•μΈν•  λ•Œ ν•¨κ»˜ 보면 도움이 λœλ‹€.

싀무 λ―Έλ‹ˆ 사둀

  • λ‚΄λΆ€μ μœΌλ‘œ λ¬Έμ„œ νŒŒμΌμ€ μˆ˜μ •λλ‹€.
  • ν•˜μ§€λ§Œ μ‚¬μš©μž μ±„λ„μ—λŠ” μ‹œμž‘/μ™„λ£Œ μ‹ ν˜Έκ°€ ν•˜λ‚˜λ„ μ—†μ—ˆλ‹€.
  • 결과적으둜 μš΄μ˜μžλŠ” β€œμ•„λ¬΄κ²ƒλ„ μ•ˆ ν–ˆλ‹€β€κ³  νŒλ‹¨ν–ˆλ‹€.

검증 포인트

  • μ‹œμž‘ μ•Œλ¦Ό, μ™„λ£Œ μ•Œλ¦Ό, μ²΄ν¬λ°•μŠ€ κ°±μ‹  λ‘œκ·Έκ°€ ν•œ μ„ΈνŠΈλ‘œ λ‚¨λŠ”μ§€ λ³Έλ‹€.
  • μ…‹ 쀑 ν•˜λ‚˜λΌλ„ μ—†μœΌλ©΄ 재발 κ°€λŠ₯성이 λ†’λ‹€.

5λΆ„ 볡ꡬ μˆœμ„œ

1) 였늘 κ³„νšμ˜ κΈ°μ€€ νŒŒμΌμ„ λ¨Όμ € κ³ μ •ν•œλ‹€

κ°€μž₯ λ¨Όμ € ν•  일은 였늘 κ³„νšμ˜ κΈ°μ€€ νŒŒμΌμ„ ν•˜λ‚˜λ‘œ μ •ν•˜λŠ” 것이닀. memory/였늘.mdλ₯Ό μ“Έμ§€, memory/YYYY-MM-DD.mdλ₯Ό μ“Έμ§€, λ‘˜ λ‹€ μ“Έμ§€ λ¨Όμ € μ •ν•΄μ•Ό ν•œλ‹€.

이 단계가 μ€‘μš”ν•œ μ΄μœ λŠ” heartbeatκ°€ 아무리 자주 λŒλ”λΌλ„ 잘λͺ»λœ νŒŒμΌμ„ 읽으면 μ˜μ›νžˆ λ§žλŠ” νŒμ •μ„ ν•  수 μ—†κΈ° λ•Œλ¬Έμ΄λ‹€. μ‹€λ¬΄μ—μ„œλŠ” 파일 쑴재 여뢀보닀 β€œμš΄μ˜μžκ°€ μ‹€μ œλ‘œ μ†λŒ€λŠ” νŒŒμΌβ€κ³Ό β€œheartbeatκ°€ μ½λŠ” νŒŒμΌβ€μ΄ 같은지뢀터 λ§žμΆ”λŠ” 편이 λΉ λ₯΄λ‹€.

2) λ―Έμ™„λ£Œ ν•­λͺ©μ„ λ‹€μ‹œ μ„Έμ§€ 말고, μ‹€ν–‰ λŒ€μƒλ§Œ μΆ”λ¦°λ‹€

λ‹€μŒμœΌλ‘œλŠ” [ ] ν•­λͺ© 전체λ₯Ό 세기보닀 μ§€κΈˆ μ‹œκ°μ„ μ§€λ‚œ ν•­λͺ©λ§Œ 골라낸닀. μ΄λ•ŒλŠ” μ•„λž˜μ²˜λŸΌ μƒκ°ν•˜λ©΄ λœλ‹€.

  • 아직 μ•ˆ 됐고([ ])
  • μ˜ˆμ • μ‹œκ°μ„ 지났고
  • 동일 task-key μ™„λ£Œ λ‘œκ·Έκ°€ 아직 μ—†μœΌλ©΄
  • μ§€κΈˆ λ°”λ‘œ μ‹€ν–‰ λŒ€μƒ

μ΄λ ‡κ²Œ 쑰건을 자λ₯΄λ©΄ HEARTBEAT_OKλ₯Ό λ„ˆλ¬΄ 일찍 λ³΄λ‚΄λŠ” μ‹€μˆ˜κ°€ 크게 쀄어든닀.

3) μ‹œμž‘ μ•Œλ¦Ό β†’ μ‹€μ œ μž‘μ—… β†’ μ™„λ£Œ μ•Œλ¦Ό μˆœμ„œλ₯Ό κ³ μ •ν•œλ‹€

μˆœμ„œλ₯Ό λ°”κΎΈλ©΄ 체감이 μ–΄κΈ‹λ‚œλ‹€. 특히 파일 μˆ˜μ • ν›„ λ‚˜μ€‘μ— μ•Œλ¦¬κ±°λ‚˜, μ™„λ£Œλ§Œ 남기고 μ‹œμž‘μ„ μƒλž΅ν•˜λ©΄ μ‚¬λžŒμ€ heartbeatκ°€ κ±΄λ„ˆλ›΄ κ²ƒμ²˜λŸΌ 느끼기 쉽닀.

ν˜„μž₯μ—μ„œλŠ” μ•„λž˜ μˆœμ„œλ₯Ό κ·ΈλŒ€λ‘œ κ³ μ •ν•˜λŠ” 편이 κ°€μž₯ μ•ˆμ „ν•˜λ‹€.

  1. μ‹œμž‘ μ•Œλ¦Ό
  2. μ‹€μ œ μž‘μ—… μ‹€ν–‰
  3. μ²΄ν¬λ°•μŠ€ [x] 반영
  4. μ™„λ£Œ 둜그 ν•œ 쀄 μΆ”κ°€
  5. ν•„μš” μ‹œ κ²°κ³Ό μš”μ•½ μ•Œλ¦Ό

4) 같은 μž‘μ—…μ„ λ‹€μ‹œ μž‘μ§€ μ•Šλ„λ‘ task-keyλ₯Ό λ³Έλ‹€

heartbeatκ°€ 자주 λ„λŠ” ν™˜κ²½μ—μ„œλŠ” β€œν•œ 번 끝낸 일”을 λ‹€μ‹œ μž‘λŠ” λ¬Έμ œκ°€ μ‰½κ²Œ 생긴닀. κ·Έλž˜μ„œ task-keyλ₯Ό λ‚ μ§œΒ·μ‹œκ°„Β·μž‘μ—…λͺ… κΈ°μ€€μœΌλ‘œ κ³ μ •ν•΄ 두면 쀑볡 싀행을 쀄이기 쉽닀.

예λ₯Ό λ“€μ–΄ 2026-04-13|11:00|μƒμœ„ μœ μž… νŽ˜μ΄μ§€ 리라이트 1건처럼 μž‘μ•„ 두면, λ‹€μŒ heartbeatλŠ” μž¬μ‹€ν–‰μ΄ μ•„λ‹ˆλΌ μƒνƒœ μ—…λ°μ΄νŠΈλ§Œ ν•˜κ²Œ λ§Œλ“€ 수 μžˆλ‹€. 이 κ·œμΉ™μ΄ μ—†μœΌλ©΄ μ‹œμŠ€ν…œμ€ λ°”μ˜κ²Œ μ›€μ§μ΄λŠ”λ° μ‚°μΆœλ¬Όμ€ 제자리인 상황이 λ°˜λ³΅λœλ‹€.

ν˜„μž₯ λ―Έλ‹ˆ 사둀 3개

사둀 A) μ˜€μ „μ—λŠ” λ©€μ©‘ν–ˆλŠ”λ° μ˜€ν›„λΆ€ν„° κ°‘μžκΈ° HEARTBEAT_OK만 μ˜¨λ‹€

  • 상황: μ˜€μ „ heartbeatμ—μ„œ 읽은 μƒνƒœλ₯Ό μ˜€ν›„μ—λ„ κ·ΈλŒ€λ‘œ μž¬μ‚¬μš©
  • 원인: heartbeatλ§ˆλ‹€ 였늘 νŒŒμΌμ„ λ‹€μ‹œ μ—΄μ§€ μ•ŠμŒ
  • 처리: λ§€ heartbeatλ§ˆλ‹€ 였늘 κ³„νš 원본 μž¬λ‘œλ”©
  • κ²°κ³Ό: μ˜€ν›„ overdue ν•­λͺ©μ„ 정상 감지

사둀 B) scheduled reminderλŠ” λ–΄λŠ”λ° 후속 μ•‘μ…˜μ΄ μ—†λ‹€

  • 상황: μ•Œλ¦Ό μ΄λ²€νŠΈλŠ” 정상 λ°œμƒ
  • 원인: μ•Œλ¦Όμ„ 받은 λ’€ μ‹€ν–‰ λŒ€μƒ νŒμ •μœΌλ‘œ μ•ˆ λ„˜μ–΄κ°
  • 처리: reminder μˆ˜μ‹  ν›„ β€œμ˜€λŠ˜ κ³„νš μž¬ν™•μΈ β†’ overdue νŒμ •β€ 단계λ₯Ό κ°•μ œ
  • κ²°κ³Ό: μ•Œλ¦Όκ³Ό 싀행이 ν•˜λ‚˜μ˜ νλ¦„μœΌλ‘œ 이어짐

사둀 C) μž‘μ—…μ€ ν–ˆλŠ”λ° μ‚¬μš©μžλŠ” 계속 HEARTBEAT_OK만 κΈ°μ–΅ν•œλ‹€

  • 상황: λ‚΄λΆ€ 파일만 λ°”λ€Œκ³  채널 λ©”μ‹œμ§€λŠ” μƒλž΅
  • 원인: μ‹œμž‘/μ™„λ£Œ μ•Œλ¦Ό μˆœμ„œ λˆ„λ½
  • 처리: μ‹œμž‘ μ•Œλ¦Όκ³Ό μ™„λ£Œ μ•Œλ¦Όμ„ 뢄리 기둝
  • κ²°κ³Ό: 운영 체감이 μ’‹μ•„μ§€κ³  디버깅도 μ‰¬μ›Œμ§

μš΄μ˜μžκ°€ λ°”λ‘œ 써먹을 νŒλ³„ 질문

μ•„λž˜ λ„€ μ§ˆλ¬Έμ— λ‹΅ν•˜λ©΄, λŒ€λΆ€λΆ„ 5λΆ„ μ•ˆμ— 원인 λ²”μœ„κ°€ 쀄어든닀.

  1. heartbeatκ°€ 였늘 μ‹€μ œ κ³„νš νŒŒμΌμ„ 보고 μžˆλŠ”κ°€?
  2. [ ] ν•­λͺ© 쀑 ν˜„μž¬ μ‹œκ°μ΄ μ§€λ‚œ 것이 μžˆλŠ”κ°€?
  3. 있으면 μ‹œμž‘ μ•Œλ¦Ό β†’ μ‹€ν–‰ β†’ μ™„λ£Œ μ•Œλ¦Όμ΄ ν•œ μ„ΈνŠΈλ‘œ λ‚¨λŠ”κ°€?
  4. 같은 task-keyλ₯Ό 이미 끝낸 λ’€ 또 작고 μžˆμ§€λŠ” μ•Šμ€κ°€?

λ„€ 질문 쀑 ν•˜λ‚˜λΌλ„ β€œμ•„λ‹ˆμ˜€β€λ©΄, HEARTBEAT_OK λ°˜λ³΅μ€ 응닡 포맷 λ¬Έμ œκ°€ μ•„λ‹ˆλΌ 운영 둜직 문제둜 λ³΄λŠ” 편이 λ§žλ‹€.

λ‹€μŒμ— 읽을 κΈ€ (내뢀링크 10μ„ )

λ‹€μŒ μΆ”μ²œ 읽기: 31. Quota 리셋 μ•ˆ 됨 ν•΄κ²°

ν•œ 쀄 κ²°λ‘ 

HEARTBEAT_OK 반볡 λ¬Έμ œλŠ” λŒ€κ°œ heartbeatκ°€ 죽은 게 μ•„λ‹ˆλΌ, 였늘 κ³„νš μ›λ³ΈΒ·μ‹œκ°„ λΉ„κ΅Β·μ•Œλ¦Ό μˆœμ„œ 쀑 ν•˜λ‚˜κ°€ λΉ μ§„ μƒνƒœλ‹€.
였늘 κ³„νšμ„ λ‹€μ‹œ 읽고, overdue만 κ³¨λΌμ„œ, μ‹œμž‘ μ•Œλ¦Ό β†’ μ‹€ν–‰ β†’ μ™„λ£Œ μ•Œλ¦Ό μˆœμ„œλ‘œ κ³ μ •ν•˜λ©΄ λŒ€λΆ€λΆ„ λ°”λ‘œ ν’€λ¦°λ‹€.

β€» 이 λ¬Έμ„œλŠ” μƒμ„±ν˜• AIλ₯Ό ν™œμš©ν•΄ μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.