Skip to main content

Flow Editor

The

Flow Editor
page is the starting point for creating and modifying flows.

Node status indicator

Header Bar

The header bar contains buttons for creating flows and monitoring Flow runs.

Flow Editor header

 

  • Flow Dropdown: Selection box for specifying the Flow to load.
  • Node: Opens right sidebar for selecting new node to add.
  • View: Opens right sidebar for specifying whether Flow should be laid out horizontally or vertically
  • History: Opens a view showing historical commits from the Flow Editor or Node Editor
  • Analysis: Enables access to Jupyter notebooks which can be used for ad-hoc observation and data analysis. These notebooks are hosted on a virtual machine (VM) separate from the workflow management software running the Flow.
  • Save: Button to save Flow layout to git repo and deploy code to workflow management system.

Managing Flows

Click the

Manage
button to add, delete, configure, or document Flows. On the configurations pane, you will find:

  • Name: Display name of the Flow.
  • Id: Unique ID for the Flow.
  • Owner: Owner of the Flow. The Flow will appear on the home page for the owner of a flow.
  • Retries: How many times the Flow would retry to execute a node, in case of an error or a timeout.
  • Max Active Runs: Maximum number of Flow runs that can be active for the Flow at the same time; additional Flow runs requested are queued for later execution. This can be useful, for example, for preventing contention issues resulting from multiple Flow runs making similar requests to a third-party API in a Flow used for synchronizing systems.
  • Production Mode: Toggle to place Flow in production mode, which makes all tabular data written by the Flow to be done append-only.
info

More granular control can be achieved using the if_exists parameter in the NodeReturn object.

If enabled, this toggle overwrites the configuration specified on the NodeReturn objects in the Flow.

Run Queue Bar

The Run Queue Bar located at the bottom of the screen contains buttons for executing Flow runs. The full menu can be accessed by clicking on the

Expand
icon in the bottom right corner of the bar.

Flow Editor header

 

  • Add run: Adds a row to the run queue.
  • Run all: Runs all jobs loaded into the run queue.
  • Re-run: This requeues the last row that was ran for this specific flow. The button is greyed out if the current session had no prior runs, or if the page has been refreshed. If inputs have changed, this button will fill out all parameters that exist using the existing run.
  • Processing: Shows the number of files in the queue for your next run. Clicking this button brings up the
    Flow Runs
    page.

Flows

To create a new Flow, click the

Manage
button in the upper right hand corner of the screen. Then click the
Add New Flow
button on the sidebar. This action exposes a modal for naming and describing the Flow.

Add new flow

Documenting Flows

The documentation allows developers to specify instructions for Flow execution; for example, developers could specify the purpose of the Flow and the expected inputs and outputs.

Initially, the documentation is set to the Flow description given when creating a new Flow. Flow Documentation can be edited through the "Documentation" tab in the

Manage
sidebar in the Flow Editor. The documentation box accepts Markdown.

Writing the following markdown:

Flow documentation in edit mode

Generates this rendered documentation:

Flow documentation in preview mode

The Flow Documentation is also shown in the Flow View page

Flow Documentation in Flow View page

and a smaller preview of the Flow Documentation is shown in the Flow cards on the Home page.

Flow Documentation in Home page Flow Cards

Scheduling Flow Execution

Flows can be configured to automatically run on a schedule. The schedule is set by selecting from the dropdowns shown below and can be configured in intervals of months, weeks, days, hours, and minutes.

Cron flows

 

Configuring Email Notifications

Email notifications are sent to specified users upon Flow failure; an example email for this is shown below.

Email notifications

Configuring Retries

Retries and email notifications associated with the Flow can be specified in this modal. Retries is the number of times that a node run within the flow is retried before processing is considered to have failed.

Loading and Saving Flows

To load a Flow, specify the Flow to load in the

Choose A Flow
selection box. Upon doing so, the primary pane displays the graphical structure of the Flow.

Loading a flow

After saving a Flow, the entire environment (which contains all flows) is saved and deployed. When this save and deploy is taking place, users are temporarily restricted from running flows. A tooltip will be displayed to the user if they try to run a Flow during this time. Users can observe the status of environment updates on the

page.

Running Flows

To select input files for flows, users can click

Browse
to choose a file or drag-and-drop a file into the box labeled "Upload file here". If
Browse
is clicked, users have the option to either select an input file to process from the local computer or from Ganymede Cloud Storage (for files previously executed on flows in Ganymede).

Browse

If the input file is uploaded from local computer and has previously been uploaded to the corresponding flow and node (as determined by file name), users are prompted with an option to use the file that was previously uploaded or to save a new version with a unique id appended to the end of the file name.

existing_file_treatment

To run the same Flow with different sets of input files, add additional rows to the input box by clicking on the

Add run
button.

Clicking the

Run
button on the Flow Inputs node kicks off the Flow run. Run progress can be tracked by clicking on the Runs button in the header, or by navigating to the
Flow Runs
page.

All inputs MUST be filled out otherwise the run will not be started. A message box will appear saying which inputs have not been filled.

Configuring Autorun

Autorun can be configured by clicking on the Input Settings button, which can be found on the top left corner of the Run Queue form:

Sample input node with settings

Clicking here will bring up this modal:

Autorun modal

Enabling this feature will allow for runs to start whenever all inputs for a row in the run queue are filled. This button is disabled if any nodes take more than 1 file, or if there are no input parameters for the Flow. This feature melds nicely with file watcher, and will work even after navigating away from the

Flow Editor
page.

Modifying and Deleting Flows

Edges can be removed by selecting them and pressing "delete" or "backspace" on the keyboard. A selected edge is slightly darker and wider than unselected edges.

To make two nodes dependent on each other within a run, click and drag between two orbs two different nodes. Flow dependencies run top-to-bottom (if vertical layout is specified) or left-to-right (if horizontal layout is specified).

In order to delete flows, click the

Manage
Button on the Flow Editor page, which opens up the right sidebar offering a button to
Delete Flow

caution

Deleting flows is not reversible from within the Ganymede UI, so undoing a Flow deletion will require restoring code from a prior commit in the git repo corresponding to the Ganymede cloud tenant.

Flow Save Status Indicator

The status of the latest flow save is displayed by an indicator message in the header bar of the Flow Editor page. Flows can’t be run while a flow save is in progress, which can be tracked by this indicator. If no flow is currently saving the status indicator will display the time of the last successful flow save.

Autorun modal

While a flow save is in progress the indicator message will display in sequence "Save in progress", "Build in progress", and "Deploy in progress" depending on which part of the save pipeline that is running.

Autorun modal Autorun modal Autorun modal

If an error is encountered during a flow save then an error message will be displayed.

Autorun modal

Flow Versions

All changes to a Flow will be tracked as a new Flow Version. A history of all Flow Versions can be viewed by clicking on the History button in the Flow Editor page.

Go to Flow Version History button Flow Version History
note

Some Flow Versions created before July 18th 2024 may not be linked to a "Created By" user.

Expanding a row will show the changes between the selected version and the current version of the Flow, not just the changes introduced in the selected version.

The changes are shown like a side by side git diff where the left is old and the right is current.

Flow Version History row expanded with diff