AI로 예약된 작업이 실제로 실행됐는지 확인하기
에이전트가 마지막 실행 시각이 담긴 cron 작업 목록을 읽고, 지연되었거나 실패 중인 작업을 쉬운 말로 알려 줍니다.
- 읽기 전용 연결
- 스케줄 실행
- 콜백
- 예산 상한
실제 실행 보기
2026년 10월 7일에 기록된 실제 실행을 다시 재생합니다. 모델: openai/gpt-6-luna.
성공run_465f762a5831e5d144145e2f5875031c$0.025 중 $0.002811
- 대기 중예산 $0.025 예약됨
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- 연결ops GET /jobs
- 결과
ops GET → 200 - MicroVMmicroVM destroyed
- 성공모델 호출 2회, 토큰 3,246개기록된 출력 (영어)
Ops check at 2026-10-07 09:00 UTC: 2 jobs need attention; 6 are healthy.
- invoice-export — Overdue: last ran 2026-10-05 03:00 UTC, 54 hours ago; expected every 24 hours (overdue threshold: more than 36 hours). No run is recorded on Oct 6 or 7. Next step: investigate the missed runs and trigger an export if needed.
- sync-inventory — Failing: last ran 2026-10-07 08:30 UTC and status is
failed; error:401 Unauthorized from supplier API: token expired. Next step: renew the supplier API token and retry.
- 워커 폐기됨$0.002811 청구, $0.022189 반환
모델 $0.000411 · 웹 $0.00 · 컴퓨팅 $0.0024
직접 실행하기
요청이 모두 채워진 상태로 플레이그라운드에서 샘플을 엽니다. 내 계정에서 표시된 예산 안에서, 같은 읽기 전용 샘플 시스템을 대상으로 실행됩니다.
이 샘플의 예산: $0.025
작동 방식
조용히 실패하는 cron은 비용이 큰 문제입니다. 에이전트는 각 작업의 마지막 실행을 예상 주기와 비교하고, 지연되었거나 실패 중인 작업을 근거와 함께 보고합니다. 작업 API는 읽기 전용이며 자체 시계를 알려 주므로, 답이 에이전트의 달력에 좌우되지 않습니다.
에이전트가 할 수 있는 일과 할 수 없는 일
권한은 요청의 일부입니다. 여기에 나열되지 않은 것은 실행에서 사용할 수 없습니다.
| 설정 | 허용 범위 |
|---|---|
| 연결 | ops: ephemer.al/api/samples/ops-api에서 GET만 허용 |
| 웹 | 꺼짐 |
| 셸 | 꺼짐 |
| 파일 | 없음 |
| 데이터 무보존 | 꺼짐: 기록이 30일간 보관됩니다 |
| 예산 | $0.025, 하드 캡 |
| 시간 제한 | 60초 |
자격 증명은 머신 안으로 들어가지 않습니다. 브로커가 각 호출에 자격 증명을 추가하고 위의 메서드를 강제합니다.
코드
샘플이 보내는 정확한 요청입니다. EPHEMERAL_API_KEY를 내 조직의 멤버 키로 설정하세요.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.json전체 요청 본문 workflow.json
파일이 인라인으로 포함된 같은 본문입니다.
{
"prompt": "Read GET /jobs on the ops connection. Use the 'now' value in the response as the current time. A job is overdue when more than 1.5 times expected_every_hours have passed since last_run_at. A job is failing when last_status is failed. Reply in Markdown, at most 150 words: one headline sentence, then a bullet for each overdue or failing job with its name, the evidence (times and error) and a likely next step. Do not list healthy jobs, just say how many there are. Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
"connections": {
"ops": {
"type": "http",
"url": "https://ephemer.al/api/samples/ops-api",
"auth": {
"type": "bearer",
"token": "sample_read_key"
},
"allowed_methods": [
"GET"
],
"instructions": "GET /jobs returns now (the current time) and items with name, schedule, expected_every_hours, last_run_at, last_status, last_error, recent_statuses (newest first) and sometimes a note."
}
},
"shell": false,
"timeout_seconds": 60
}이 샘플은 시간표대로 실행됩니다: UTC 기준 0 * * * *. 스케줄은 저장된 워크플로를 시작하므로, 먼저 요청을 워크플로로 저장한 다음 스케줄을 만드세요.