본문으로 건너뛰기

예약 작업과 워크플로

예약 작업 패널은 기존 단계 모드와 흐름도 워크플로 모드를 모두 지원합니다. 예약 실행기로 사용할 수도 있고 시각적 자동화 도구로 사용할 수도 있습니다.

지원하는 트리거 방식​

  • Cron 표현식
  • 고정 간격
  • 일회성
  • 사용자 트리거
  • KVDB 큐 소비

각 방식의 특징은 다음과 같습니다.

  • 사용자 트리거: 자동으로 예약되지 않고 직접 실행할 때만 작동합니다.
  • KVDB 큐 소비: “작업이 큐에 들어오면 소비”하는 방식에 적합합니다.

대상 기기와 그룹​

  • 예약 작업은 메인 화면과 같은 기기/그룹 의미를 사용합니다.
  • 작업에서 그룹을 선택하면 실행할 때 해당 그룹에 현재 연결된 스크립트와 설정을 사용합니다.
  • 사용자 트리거 유형은 메인 화면의 더 많은 작업에 표시할지와 수동 실행 전에 기기를 반드시 선택해야 하는지도 설정할 수 있습니다.

두 가지 편집 방식​

단계 모드​

다음과 같은 간단한 순차 작업에 적합합니다.

  • 스크립트 실행
  • 스크립트 중지/일시 정지/재개
  • 화면 잠금/잠금 해제
  • SpringBoard 다시 시작/기기 재부팅
  • 지정한 시간(초)만큼 대기
  • Lua 코드 실행
  • 다른 예약 작업 활성화/비활성화/실행

워크플로 모드​

복잡한 자동화에 적합합니다. 워크플로 편집기에서 다음과 같은 일반 기능을 직접 조합할 수 있습니다.

  • 기기 작업과 스크립트 실행
  • 파일 관리의 세 디렉터리 작업
  • HTTP 요청, Lua 코드
  • KVDB와 TableDB
  • 조건 분기, 변수, 흐름 제어
  • 다른 예약 작업 호출

워크플로를 편집할 때:

  • 노드 패널 상단에서 작업 이름이나 분류를 검색한 다음 찾은 노드를 캔버스로 드래그합니다. 분류 제목을 클릭하면 노드 목록을 접거나 펼칠 수 있습니다.
  • 캔버스 상단에는 실행 취소, 다시 실행, 노드 정렬, 캔버스에 맞추기가 있습니다. 노드를 선택하고 속성 패널을 연 뒤에도 이 도구들을 사용할 수 있습니다.
  • 노드 정렬은 노드 위치를 정리하며 실행 취소할 수 있습니다. 캔버스에 맞추기는 보기만 조정하고 노드 위치는 유지합니다.

테스트와 수동 실행​

  • 워크플로 편집기에는 “테스트 실행” 기능이 내장되어 있어 편집기에서 테스트 로그를 바로 확인할 수 있습니다.
  • 저장한 예약 작업은 “지금 실행”을 지원하며 실행 상태를 실시간으로 추적할 수 있습니다.
  • 테스트 또는 실행 중 오류가 발생하면 패널에 오류 위치와 메시지가 바로 표시되므로 해당 단계로 돌아가 수정하기 쉽습니다.
  • 로그가 없으면 실행 로그는 기본적으로 접혀 있으며, 테스트나 실행을 시작하면 자동으로 펼쳐집니다. 실행 중에도 수동으로 접을 수 있고, 이후 로그가 추가되어도 표시 영역이 반복해서 열리지 않습니다.

실행 기록과 내보내기​

  • 각 예약 작업은 실행 기록을 보관합니다.
  • 실행 기록에서 상태, 트리거 출처, 기기 결과 통계와 로그 내용을 볼 수 있습니다.
  • 실행 로그는 파일 관리 → 보고서 디렉터리로 내보낼 수 있습니다.

목록 일괄 작업​

  • 예약 작업 목록은 다중 선택과 Shift 연속 선택을 지원합니다.
  • 선택한 예약 작업을 일괄 내보내거나 일괄 삭제할 수 있습니다.
  • 선택한 예약 작업을 삭제하기 전에 다시 확인하며, 실행 중인 예약 작업은 삭제할 수 없습니다.

가져오기와 내보내기​

  • 예약 작업 목록 전체를 내보내거나 선택한 한 개 또는 여러 개의 예약 작업만 내보낼 수 있습니다.
  • 선택한 예약 작업을 내보낼 때 단계나 워크플로에서 참조하는 관련 예약 작업도 자동으로 포함되어 가져오기 패키지를 사용할 수 있도록 합니다.
  • 예약 작업 가져오기는 먼저 JSON 파일의 예약 작업을 미리 보여 주며, 그중 한 개 또는 여러 개만 선택하여 가져올 수 있습니다.
  • 예약 작업 가져오기를 클릭하여 JSON 파일을 선택하거나 JSON 파일을 예약 작업 패널에 직접 끌어다 놓을 수 있습니다.
  • 새 가져오기 진입점은 기본적으로 현재 목록에 병합하며 기존 예약 작업 전체를 교체하지 않습니다.
  • 같은 이름의 예약 작업이 있으면 기존 작업을 덮어쓰거나 가져오는 작업의 이름을 바꿀 수 있습니다.