Cron 및 Scheduler
반복적인 API 호출 예약 — 주기적 동기화 및 알림에 적합한 cron 작업을 스케줄에 따라 실행합니다.
Cron 및 Scheduler
Cron API를 사용하면 Synapse 엔드포인트 (또는 외부 HTTPS 엔드포인트)에 대한 반복적인 HTTP 호출을 예약할 수 있습니다. 주기적 동기화, 알림 및 유지 관리 작업에 적합합니다.
엔드포인트
POST /cron
예약된 작업을 생성합니다.
curl -X POST https://synapse.schaefer.zone/cron \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule": "0 * * * *",
"endpoint": "https://synapse.schaefer.zone/memory/recall",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'응답:
{
"id": "cron_001",
"schedule": "0 * * * *",
"endpoint": "https://synapse.schaefer.zone/memory/recall",
"method": "GET",
"enabled": true,
"next_run": "2026-06-27T13:00:00Z",
"created_at": "2026-06-27T..."
}GET /cron
모든 예약된 작업을 나열합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cronDELETE /cron/:id
예약된 작업을 삭제합니다.
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cron/cron_001PUT /cron/:id/toggle
삭제하지 않고 작업을 활성화 또는 비활성화합니다.
curl -X PUT -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/cron/cron_001/toggle스케줄 구문
표준 cron (5개 필드)
┌───── minute (0-59)
│ ┌───── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌───── month (1-12)
│ │ │ │ ┌───── day of week (0-6, 0=Sunday)
│ │ │ │ │
* * * * *예시:
| 스케줄 | 의미 |
|---|---|
0 * * * * |
매시 정각 |
*/15 * * * * |
15분마다 |
0 9 * * 1-5 |
평일 오전 9시 |
0 0 * * 0 |
매주 일요일 자정 |
0 0 1 * * |
매월 1일 자정 |
정수 간격 (초)
단순한 간격의 경우 정수를 전달합니다:
{ "schedule": "300" } // 5분마다엔드포인트 제한 사항
엔드포인트는 다음을 가리키는 `http://` 또는 `https://` URL이어야 합니다:
이는 손상된 마인드가 내부 서비스로 요청을 예약하는 SSRF 공격을 방지합니다.
일반적인 패턴
시간별 memory recall (LLM 에이전트용)
curl -X POST .../cron -d '{
"schedule": "0 * * * *",
"endpoint": "https://synapse.schaefer.zone/memory/recall",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'일일 백업
curl -X POST .../cron -d '{
"schedule": "0 2 * * *",
"endpoint": "https://synapse.schaefer.zone/memory/mind-export",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'주기적 채팅 폴링 (5분마다)
curl -X POST .../cron -d '{
"schedule": "300",
"endpoint": "https://synapse.schaefer.zone/chat/poll",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_MIND_KEY"}
}'주간 보고서 트리거
curl -X POST .../cron -d '{
"schedule": "0 9 * * 1",
"endpoint": "https://my-app.com/weekly-report",
"method": "POST",
"body": "{\"mind_id\": \"m_xyz789\"}",
"headers": {"Content-Type": "application/json", "X-API-Key": "my-secret"}
}'