ectop¶
ectop is a powerful Textual-based Terminal User Interface (TUI) for monitoring and controlling ecFlow servers.
Features¶
- Real-time Monitoring: View the status of your ecFlow suites, families, and tasks in a hierarchical tree view. The UI updates periodically to reflect the latest server state.
- Node Management: Perform common ecFlow operations directly from the TUI:
- Suspend/Resume: Pause or continue execution of nodes.
- Kill: Terminate running tasks.
- Force Complete: Manually set a node to the complete state.
- Requeue: Reset a node for execution.
- File Inspection: Quickly view logs, scripts, and generated job files:
- Log Output: Live view of task logs with optional auto-refresh.
- Scripts: View the original ecFlow script.
- Jobs: Inspect the generated job file.
- Search: Interactive live search to find nodes in large suites, optimized with lazy loading.
- Command Palette: Searchable command interface for quick access to all application actions.
- Why?: A dedicated "Why" inspector to understand why a node is in its current state (e.g., waiting for triggers or limits).
- Variable Management: View and modify node variables (Edit and Add) on the fly.
- Interactive Script Editing: Edit scripts using your preferred local editor (via
$EDITOR) and update them on the ecFlow server instantly.
Installation¶
Using Conda (Recommended)¶
Since ecflow is primarily distributed via Conda, this is the easiest way to get started:
Using Pip¶
If you already have ecflow installed on your system:
Usage¶
Start ectop by running:
Configuration & Environment Variables¶
ectop can be configured via command-line arguments or environment variables.
- Server Host:
- CLI:
ectop --host <hostname> - Environment:
ECF_HOST(defaults tolocalhost)
- CLI:
- Server Port:
- CLI:
ectop --port <port> - Environment:
ECF_PORT(defaults to3141)
- CLI:
- Refresh Interval:
- CLI:
ectop --refresh <seconds> - Environment:
ECTOP_REFRESH(defaults to2.0)
- CLI:
- Editor:
ectopuses theEDITORenvironment variable for script editing. If not set, it defaults tovi.
Key Bindings¶
| Key | Action |
|---|---|
q |
Quit the application |
p |
Open Command Palette |
r |
Refresh the entire suite tree from the server |
l |
Load Logs, Script, and Job files for the selected node |
s |
Suspend the selected node |
u |
Resume the selected node |
k |
Kill the selected task |
f |
Force Complete the selected node |
/ |
Open Search box (Live search) |
w |
Open Why? inspector for the selected node |
e |
Edit the node script in your local editor and update server |
t |
Toggle Live log updates for the current node |
v |
View/Edit Variables for the selected node |