본문으로 건너뛰기

예약 작업

Elftia의 예약 작업 시스템(Cron)을 사용하면 반복적인 작업을 일정에 따라 자동으로 실행할 수 있습니다. 데스크톱 알림과 AI Agent 작업 실행이라는 두 가지 액션 유형을 지원하며, Channel 메시징 플랫폼으로 결과를 푸시할 수 있습니다.

사용 사례

  • 매일 오전 9시에 AI가 최신 기술 뉴스를 요약하도록 하기
  • 30분마다 API 상태를 확인하고 알림 받기
  • 지정한 시간에 일회성 알림 전송하기
  • 주기적으로 AI Agent가 데이터 분석을 실행하고 결과를 Discord 또는 Telegram으로 푸시하기
  • 매주 월요일 아침에 자동으로 주간 업무 계획 생성하기

예약 작업 만들기

단계

  1. Cron 관리 페이지를 열기 (사이드바 또는 탐색 메뉴에서)
  2. 작업 만들기 버튼 클릭
  3. 작업 정보 입력:
    • 작업 이름 — 작업을 잘 설명하는 이름 입력
    • 설명 (선택 사항) — 작업의 목적을 상세히 설명
    • 일정 유형 — 실행 빈도 선택 (아래 일정 유형 참조)
    • 액션 유형 — 알림 또는 Agent 실행 선택
    • 메시지 내용 — 알림 텍스트 또는 Agent 프롬프트
  4. (선택 사항) Channel 푸시 설정
  5. (선택 사항) Agent 작업에 사용할 LLM 제공자 및 모델 선택
  6. 저장 클릭

일정 유형

Elftia는 간단한 것부터 복잡한 타이밍 요구 사항까지 모든 것을 아우르는 세 가지 예약 방식을 지원합니다.

Cron 표현식

표준 5필드 Cron 표현식을 사용하여 실행 시간을 정밀하게 제어합니다.

형식: 분 시 일 월 요일

필드범위특수 문자
0-59* , - /
0-23* , - /
1-31* , - /
1-12* , - /
요일0-7 (0과 7 모두 일요일)* , - /

자주 쓰는 예시:

표현식의미
0 9 * * *매일 오전 9:00
30 8 * * 1-5평일 오전 8:30
0 */2 * * *2시간마다 정각
0 9 1 * *매월 1일 오전 9:00
0 9 * * 1매주 월요일 오전 9:00
*/15 * * * *15분마다
0 9,18 * * *매일 오전 9:00 및 오후 6:00

특수 문자 참고:

문자설명예시
*모든 값에 매칭* * * * * 매 분마다
,여러 값 목록0,30 * * * * 매 시간 0분 및 30분
-범위0 9-17 * * * 오전 9시부터 오후 5시까지 정각마다
/스텝*/10 * * * * 10분마다

:::tip 시각적 보조 기능 작업을 생성할 때 인터페이스에서 시각적 일정 모드 선택기를 제공합니다. 매일, 평일, 매주, 매월, 매 시간 등의 프리셋이 있어 Cron 표현식을 직접 작성할 필요가 없습니다. 프리셋을 선택하면 해당 Cron 표현식이 자동으로 생성됩니다. :::

간격 실행 (every)

고정된 간격으로 작업을 반복합니다.

형식: 숫자 + 단위

단위기호예시
s30s — 30초마다
m5m — 5분마다
시간h1h — 1시간마다
d3d — 3일마다

동작 참고:

  • 간격은 이전 실행이 완료된 시점부터 계산됩니다
  • 앱을 재시작한 후 시스템은 마지막으로 기록된 실행 시간부터 타이밍을 재개하며 즉시 트리거되지 않습니다

일회성 실행 (at)

지정된 정확한 시간에 작업을 한 번 실행하고, 실행 후 자동으로 비활성화됩니다.

형식: ISO 8601 날짜/시간 문자열

예시: 2026-04-15T09:00:00

동작 참고:

  • 지정된 시간이 지난 후 다음 확인 주기에서 작업이 실행됩니다 (확인 간격은 30초)
  • 실행이 완료되면 작업이 자동으로 비활성 상태로 전환됩니다
  • 만료된 일회성 작업은 트리거되지 않습니다

액션 유형

알림 (notify)

데스크톱 시스템 알림을 전송합니다.

  • 작업이 실행되면 작업 이름과 메시지 내용을 표시하는 데스크톱 알림이 팝업됩니다
  • 시스템에서 앱의 알림 전송을 허용해야 합니다
  • Elftia의 알림 설정에서 활성화 또는 비활성화할 수 있습니다

Agent 실행 (agent)

AI Agent를 트리거하여 지정된 프롬프트 작업을 실행합니다.

  • 작업이 실행되면 시스템이 메시지 내용을 프롬프트로 AI Agent에 전송합니다
  • Agent가 프롬프트의 지시를 실행하고 응답을 생성합니다
  • 응답은 실행 기록에 저장됩니다 (최대 2,000자까지 저장)
  • 작업에 Channel이 설정되지 않은 경우 실행 결과는 데스크톱 알림으로 표시됩니다 (notifyOnComplete에 의해 제어)

LLM 제공자 설정

Agent 작업은 사용할 LLM 제공자와 모델을 지정할 수 있습니다:

설정설명
제공자 (providerId)작업을 실행할 LLM 제공자 선택
모델 (model)특정 AI 모델 선택

지정하지 않으면 현재 기본 제공자와 모델이 사용됩니다.

Channel 푸시

예약 작업은 실행 결과를 외부 메시징 플랫폼(Discord, Telegram 등)으로 푸시하는 것을 지원합니다.

설정 단계

  1. 작업을 생성하거나 편집할 때 Channel 푸시 활성화
  2. 대상 Channel 선택 (Channel 관리에서 먼저 설정해야 함)
  3. 대상 Chat ID 입력 (Channel 내 그룹 또는 채널 ID)
  4. Agent 실행이 완료되면 결과가 자동으로 지정된 Channel로 전송됩니다

동작 참고

  • Channel이 설정된 Agent 작업의 경우 프롬프트에 Channel 정보가 포함됩니다
  • Agent는 channel_send MCP 도구를 사용하여 대상 Channel로 결과를 전송하도록 지시됩니다
  • Channel이 설정되지 않은 Agent 작업은 로컬에서만 실행되며 결과는 데스크톱 알림으로 표시됩니다

실행 기록

각 작업의 실행 기록은 자동으로 기록됩니다. 작업당 최대 200개의 최근 기록이 유지됩니다.

기록 필드

필드설명
타임스탬프실행이 시작된 시간
상태ok (성공) 또는 error (실패)
소요 시간실행 시간 (밀리초)
오류 메시지실패 시 오류 설명
Agent 응답Agent 작업의 응답 내용 (최대 2,000자)

기록 보기

  1. Cron 관리 페이지에서 작업 클릭
  2. 작업 상세 패널 펼치기
  3. 실행 기록 탭 보기

작업 관리

일시 중지 / 재개

  • 작업의 토글 스위치를 클릭하여 작업을 일시 중지하거나 재개합니다
  • 일시 중지된 작업은 다시 활성화될 때까지 트리거되지 않습니다

지금 실행

  • 작업의 지금 실행 버튼을 클릭하여 수동으로 한 번 실행합니다
  • 작업의 정상 일정에 영향을 주지 않습니다
  • 작업이 이미 실행 중인 경우 다시 클릭해도 동시 실행이 생성되지 않습니다

편집

  • 작업을 클릭하여 편집 모드로 진입
  • 이름, 설명, 일정 유형, 액션 유형, Channel 설정을 수정할 수 있습니다
  • 변경 사항을 저장하면 다음 실행 시간이 자동으로 재계산됩니다

삭제

  • 작업을 삭제하면 실행 기록도 함께 삭제됩니다
  • 삭제는 취소할 수 없습니다

상태 이벤트 브로드캐스팅

예약 작업은 실행 중에 프론트엔드로 상태 이벤트를 브로드캐스팅합니다:

상태설명
running작업 시작됨
success작업이 성공적으로 완료됨
error작업 실패

인터페이스는 실시간으로 작업 상태 표시기를 업데이트하므로 백그라운드 작업의 상태를 한눈에 확인할 수 있습니다.

시스템 동작

동작설명
폴링 간격5초마다 작업 설정 다시 로드
확인 간격30초마다 일정 시간 확인
Cron 중복 제거같은 Cron 작업은 동일한 분 내에 한 번만 실행됨
동시 실행 제어같은 작업은 동시에 실행되지 않음
데이터 저장작업 설정은 jobs.json에 저장, 기록은 runs/ 디렉토리에 저장

자주 묻는 질문

문제해결 방법
작업이 제때 실행되지 않음작업이 활성화되어 있고 일정 표현식이 올바른지 확인
Cron 표현식이 유효하지 않음인터페이스의 시각적 일정 모드를 사용하거나 위의 표현식 예시를 참고
Agent 작업 실행 실패LLM 제공자가 올바르게 설정되어 있고 API Key가 유효한지 확인
Channel 푸시 메시지를 받지 못함Channel이 올바르게 설정되어 있고 Chat ID가 유효한지 확인
일회성 작업이 트리거되지 않음지정된 시간이 아직 지나지 않았는지 확인; 시간은 ISO 형식이어야 함
기록이 잘림시스템은 가장 최근 200개의 기록만 자동으로 유지하며 오래된 기록은 삭제됨
앱 재시작 후 간격 작업이 즉시 트리거됨정상적인 경우 즉시 트리거되지 않음; 시스템이 마지막 실행 시간부터 타이밍을 재개함

관련 링크

  • Agent — Agent 시스템에 대해 알아보기; Agent는 예약 작업의 실행 엔진입니다
  • Channel — 메시지 푸시 채널 설정
  • Chat — 대화에서 AI 기능 사용