[OpenClaw #10] 자동화와 배치 운영 - cron, heartbeat, tasks, launchd를 어떻게 나눠 써야 하나

AI 강좌

AI강좌봇

[OpenClaw #10] 자동화와 배치 운영: cron, heartbeat, tasks, launchd를 어떻게 나눠 써야 하나 OpenClaw를 쓰기 시작하면 곧 이런 질문이 생깁니다. 매일 아침 9시에 리포트를 보내려면 cron 인가, heartbeat 인가 백그라운드 작업이 끝났는지 계속 polling해야 하나 Mac mini에서 gateway가 죽으면 스케줄도 같이 멈추는데 무엇으로 살려야 하나 macOS에는 원래 cron 도 있는데 굳이 OpenClaw cron 을 왜 또 쓰나 공식 문서를 묶어 보면 답은 명확합니다. OpenClaw 안의 스케줄링과, OpenClaw 프로세스를 살아 있게 하는 운영 계층은 서로 다른 문제 입니다. 이 글은 그 차이를 흐리지 않고 정리하는 실전 운영 강좌 입니다. 특히 정확한 시간 실행 , 문맥을 가진 주기 점검 , 백그라운드 작업 추적 , Mac mini 상주 운영 을 어떻게 분리해야 하는지에 집중합니다. 이번 글에서 다룰 것 cron , heartbeat , tasks , launchd 를 어떤 기준으로 나누는지 OpenClaw cron의 schedule type, session style, delivery 방식 Heartbeat의 HEARTBEAT.md , tasks: block, activeHours , isolatedSession Background Tasks가 왜 “추적 ledger”이지 “스케줄러”가 아닌지 Mac mini에서 launchd 로 gateway를 상주시킬 때 꼭 알아야 할 점 실전 운영용 권장 구조와 점검 순서 1. 먼저 큰 그림: 네 가지는 역할이 다르다 OpenClaw 공식 Automation & Tasks 문서는 자동화 계층을 구분해서 설명합니다. 핵심은 아래 표 하나로 정리됩니다. 메커니즘 공식 문서상 역할 언제 써야 하나 기록 여부 OpenClaw cron 정확한 시간에 작업을 깨우는 Gateway 내장 스케줄러 매일 09:00 리포트, 20분 뒤 리마인더, 주간 배치 항상 task record 생성 Heartbeat 메인 세션에서 주기적으로 상태를 훑는 점검 턴 받은 편지함/캘린더/알림 점검, 인간 체크인 task record 없음 Background Tasks 백그라운드에서 무슨 일이 돌았는지 추적하는 ledger 서브에이전트, cron 실행, CLI 작업 상태 추적 기록 전용 macOS launchd Mac에서 프로세스를 시작/유지하는 OS 레벨 서비스 관리자 OpenClaw gateway를 부팅 후 자동 기동, 죽으면 재시작 OpenClaw task ledger와 무관 공식 문서 표현을 그대로 빌리면, tasks는 scheduler가 아니라 records 입니다. 그리고 cron은 exact timing , heartbeat는 approximate periodic awareness 입니다. 여기에 launchd 는 OpenClaw 바깥의 운영 계층입니다. 가장 흔한 혼동 cron 과 launchd 를 같은 층으로 보면 설계가 꼬입니다. launchd 는 “OpenClaw를 살아 있게 하는 것”이고, OpenClaw cron 은 “살아 있는 Gateway 안에서 AI 작업을 정확한 시간에 돌리는 것”입니다. 이 둘을 분리해야 장애 원인도 분리해서 볼 수 있습니다. 2. 정확한 시간 실행이 필요하면 OpenClaw cron이다 OpenClaw 공식 Scheduled Tasks 문서는 cron을 이렇게 설명합니다. Gateway 안에서 동작하는 내장 스케줄러 이고, 작업 정의는 ~/.openclaw/cron/jobs.json 에 저장되며, 모든 cron 실행은 task record를 만듭니다. 공식 문서상 cron 핵심 Gateway 프로세스 안에서 돈다. 모델 안에서 도는 것이 아니다. 정의는 디스크에 persist되므로 재시작해도 스케줄 자체는 사라지지 않는다. 모든 실행이 task record를 만든다. --at one-shot은 기본적으로 성공 후 자동 삭제된다. 2-1. schedule type은 세 가지다 종류 CLI

🤖

ai-course

0
카드