콘텐츠로 이동

워크플로우 실행 (Running Workflows)

이 페이지에서는 워크플로우가 구성된 후 실제로 실행할 때 일어나는 모든 과정을 다룹니다. 실행 시작, 중지, 실행 중 캔버스 상태 확인, 로그 및 오류 기록 확인, 작업 내용 저장 등을 설명합니다.

전체 워크플로우 실행

헤더 중앙에 위치한 Run Workflow 버튼은 현재 워크플로우의 모든 노드를 처음부터 실행합니다. 워크플로우가 이미 실행 중이거나 열려 있는 워크플로우가 없을 때는 비활성화됩니다.

단축키 작업
Shift + Cmd/Ctrl + Return 전체 워크플로우 실행 (Run Workflow)

단일 노드 실행

Run Workflow 옆에 있는 두 개의 버튼을 사용하면 전체 그래프 중 일부만 실행할 수 있습니다. 이 버튼들은 정확히 하나의 노드만 선택되어 있어야 활성화됩니다. Run From Selected는 워크플로우가 이미 실행 중일 때는 비활성화되지만, Run To Selected는 비활성화되지 않습니다(아래 실행 중 노드 실행 참조).

  • Run To Selected는 다운스트림 항목은 건드리지 않고 선택된 노드 및 아직 확인되지 않은 업스트림의 모든 노드를 해결(resolve)합니다. 파라미터를 변경하고 확인하려는 노드까지 실행한 뒤 결과를 확인하는 일반적인 반복 작업 방식입니다.
  • Run From Selected는 선택된 노드에서 실행을 시작하여 Run Workflow와 동일한 방식으로 나머지 흐름을 진행하며, 중간부터 시작합니다.
단축키 작업
Cmd/Ctrl + Return 선택한 노드까지 실행 (Run To Selected)

Run From Selected에는 키보드 단축키가 없으므로 버튼을 사용해야 합니다. 버튼과 달리 Cmd/Ctrl + Return 단축키는 여러 노드가 선택된 상태에서도 작동하여 선택된 각 노드까지 실행합니다.

단일 노드 실행 작업은 노드의 우클릭 컨텍스트 메뉴 및 멀티 노드 툴바에서도 사용할 수 있습니다.

실행 도중 노드 실행

노드를 테스트하기 위해 실행이 끝날 때까지 기다릴 필요가 없습니다. Run To Selected는 워크플로우가 실행 중인 동안에도 계속 활성화되어 있으며, 새 실행을 시작하는 대신 이미 진행 중인 실행에 노드가 참여합니다. 아직 확인되지 않은 업스트림 항목은 동일한 실행으로 가져와 처음 시작할 때와 똑같이 먼저 해결됩니다.

노드가 실제로 실행을 시작하는 시점은 현재 실행 중인 작업량에 따라 달라집니다:

  • Parallel(병렬) 실행 모드에서는 실행 슬롯이 비는 즉시 시작되며, 즉시 시작될 수도 있습니다. 한 번에 실행될 수 있는 노드 수는 max_nodes_in_parallel 설정(기본값 5)에 의해 결정됩니다.
  • Sequential(순차) 실행 모드에서는 한 번에 하나의 노드만 실행되므로, 현재 실행 중인 노드가 완료된 후에 시작됩니다.

두 모드에 대한 자세한 내용은 구성 가이드에 설명되어 있습니다.

알아두어야 할 두 가지 특수 상황:

  • 실행이 일시 중지된 경우, 노드가 실행 대기열에 추가되지만 시작되지는 않습니다. 실행을 한 단계 진행(step)하거나 재개할 때 실행됩니다.
  • 노드가 이미 실행에 포함되어 있는 경우(이미 완료되었거나, 실행 중이거나, 종속성 뒤에서 대기 중인 경우), 두 번 실행되지 않고 실행이 거부되며 에디터에 노드가 이미 실행 중이라는 메시지가 표시됩니다. 다시 시작하려면 실행을 취소하세요.

Run WorkflowRun From Selected는 여전히 유휴 상태의 워크플로우를 필요로 하므로 현재 실행이 끝날 때까지 비활성화 상태를 유지합니다.

실행 중지 (Cancel Run)

워크플로우가 실행되는 동안 실행 버튼 영역에 실행 버튼 대신 Cancel Run이 표시됩니다. 진행 중인 실행을 취소하려면 이 버튼을 클릭하세요. 취소 요청이 전달되는 동안 버튼에 Cancelling…이 표시됩니다.

실행 취소는 Cannot Save While Flow is Running 대화 상자(아래 저장 참조)에서 벗어나는 방법이기도 합니다. 해당 대화 상자에는 동일한 작업을 수행하는 Cancel Flow 버튼이 제공됩니다.

캔버스에서 실행 상태 확인

모든 노드는 현재 실행에 참여하는 동안 헤더에 상태 캡슐(status pill)을 표시합니다:

캡슐 의미
Running (주황색, 회전) 노드가 현재 활발하게 계산/실행 중입니다.
Resolved (녹색) 노드가 성공적으로 완료되었습니다.
Error (빨간색) 노드 실행에 실패했습니다. 마우스를 올리면 오류 메시지가 표시됩니다.
Unresolved (파란색) 이번 실행 패스에서 아직 실행되지 않았습니다.

노드 이름 옆의 작은 별표(*)도 현재 실행에 포함되어 있는지 여부와 관계없이 미해결(unresolved) 상태임을 나타냅니다. 실행이 종료된 후에도 오류가 발생한 노드는 빨간색 Error 캡슐을 유지하므로, 어떤 노드가 실패했는지 기억할 필요 없이 쉽게 찾아서 메시지를 점검할 수 있습니다.

Logs 패널

Execution Log 패널(오른쪽 사이드바)은 워크플로우가 실행되는 동안 엔진이 로깅하는 모든 내용(엔진 메시지 및 노드 자체가 로깅하는 모든 내용, 가능한 경우 노드 이름으로 태그 지정됨)을 수집합니다.

패널에서 수행할 수 있는 작업:

  • Log Level Visibility — 엔진의 로깅 상세도(DEBUG, INFO, WARNING, ERROR, CRITICAL)를 설정하는 드롭다운입니다. 표시되는 내용뿐만 아니라 애초에 로깅되는 수준 자체를 변경합니다.
  • Filter — 엔진의 상세도를 변경하지 않고 패널에서 특정 레벨을 표시하거나 숨길 수 있는 레벨 토글 행입니다(현재 상세도 이상의 레벨만 선택 가능).
  • Download (다운로드 아이콘) — 현재 필터링된 로그를 타임스탬프가 포함된 한 줄당 하나의 항목으로 .txt 파일에 저장합니다.
  • Clear (지우개 아이콘) — 로그 목록을 지웁니다.
  • 설정(톱니바퀴) 아이콘은 패널이 메모리에 유지하는 최대 로그 항목 수를 변경할 수 있는 Log Settings를 엽니다.

새 로그가 도착하면 패널이 가장 최신 항목으로 자동 스크롤됩니다.

오류 기록 (Error History)

헤더에는 단일 실행과 독립적인 Error History 버튼(카운트 배지가 있는 삼각형/원형 아이콘)도 있습니다. 현재 실행 중인 워크플로우뿐만 아니라 전체 세션에 걸쳐 발생한 오류 및 권한 거부 기록을 누적하여 보여줍니다.

클릭하면 상대 타임스탬프 및 소스와 함께 각 오류를 나열하는 드롭다운이 열립니다. 항목을 클릭하면 모달 창에서 전체 오류 내용을 볼 수 있습니다. Clear All은 목록을 모두 비우며 개별 항목 옆의 작은 × 버튼을 누르면 해당 항목만 제거됩니다.

저장 (Saving)

그래프를 편집했거나 디스크에 한 번도 저장되지 않은 워크플로우인 경우 헤더의 워크플로우 이름에 별표(*)가 표시됩니다.

  • Save (Cmd/Ctrl + S)는 현재 파일에 덮어씁니다. 한 번도 저장되지 않은 워크플로우의 경우 이름을 선택할 수 있는 Save Workflow 대화 상자가 열립니다.
  • Save As (Cmd/Ctrl + Shift + S)는 Save Workflow As… 대화 상자를 열고 지정한 이름으로 새로운 별도 복사본을 저장합니다. Griptape에서 제공하는 템플릿은 항상 Save As를 거치며 템플릿 자체를 덮어쓸 수 없습니다.
  • Save As New Version (버전 저장을 지원하는 엔진에서 Option/Alt + Shift + S)은 현재 상태를 새로운 버전 파일(my_workflow_v002.py 등)로 저장하고 해당 새 버전으로 전환하며, 디스크의 이전 버전은 그대로 유지합니다.

워크플로우가 실행 중인 동안에는 세 가지 저장 작업이 모두 차단됩니다. 저장을 시도하면 실행이 완료될 때까지 기다리거나 취소해야 한다는 내용의 Cannot Save While Flow is Running 대화 상자가 나타나며, 대화 상자에서 바로 플로우를 취소할 수 있는 바로가기 버튼이 제공됩니다.

저장이 진행되는 동안 화면 하단에 Saving workflow… 오버레이가 잠시 나타납니다.

자동 저장 (Auto-save)

Settings → Editor Settings → Auto-Save Settings에서 자동 저장을 켜면 Cmd/Ctrl+S를 매번 누르지 않아도 됩니다. 활성화되면 다음을 설정할 수 있습니다:

  • Auto-Save Interval (seconds) — 에디터가 자동 저장을 시도하는 주기(초 단위).
  • Auto-Save Notifications — 각 자동 저장 시 토스트 알림을 표시할지 여부.

자동 저장은 디스크에 이미 존재하고 저장되지 않은 변경 사항이 있는 열린 워크플로우에서만 동작하며, 워크플로우가 실행되는 동안에는 시도를 완전히 건너뜁니다. 수동 저장을 차단하는 것과 동일한 실행 중 보호 장치가 대화 상자 대신 백그라운드에서 조용히 적용됩니다.

개발자 모드 (Developer Mode)

Settings → Editor Settings → Developer Mode는 노드의 성공 여부뿐만 아니라 엔진이 워크플로우를 그렇게 평가하는 이유를 파악할 수 있는 몇 가지 추가 기능을 제공합니다.

개발자 모드를 활성화하면 모든 노드에 업스트림 데이터 종속성(제어 흐름 전용 연결이 아니라 실제로 데이터를 제공하는 노드들)을 나열하는 접이식 Developer Mode 스트립이 표시됩니다. 각 항목에는 고유한 상태 아이콘(✓ 해결됨, ↻ 해결 중, ✗ 오류, ○ 미해결)이 표시됩니다. 종속성 칩을 클릭하면 캔버스가 해당 노드로 이동하므로 대규모 그래프에서 오래된 값의 출처를 역추적할 때 유용합니다.

또한 개발자 모드는 노드의 우클릭 메뉴에 Mark as unresolved 작업을 추가합니다. 노드 자체의 내용을 변경하지 않고도 노드 및 그 다운스트림의 모든 노드를 미해결 상태로 강제 전환할 수 있습니다. 이는 입력값이 변경되지 않았더라도 디스크의 파일 등 노드가 의존하는 외부 요소를 수정한 후 다음 Run Workflow 또는 Run To Selected 시 엔진이 노드를 다시 실행하도록 만드는 가장 빠른 방법입니다.