Flowpipe Server
By default, most Flowpipe commands run in client-only mode. For example, flowpipe pipeline run
will parse and load a mod from the current directory (or --mod-location
), run the pipeline, print the results, and then exit. This makes it easy to run pipelines on an ad hoc basis - just run the command.
But what if you want to run a pipeline at regular intervals, or in response to an event? Flowpipe triggers provide that capability. To use triggers, you must run Flowpipe in server mode. The flowpipe server
command runs Flowpipe in server mode in the foreground:
flowpipe server
Once it is running you can connect to from another terminal with the --host
argument:
flowpipe pipeline list --host localflowpipe pipeline run my_pipeline --host localflowpipe trigger list --host local
Like all Flowpipe commands, flowpipe server
will load the mod from the current directory by default, but you can specify a different directory with --mod-location
:
flowpipe server --mod-location ~/my_flowpipe_mod
By default, Flowpipe will listen on all network interfaces, but you can pass --listen local
if you only want to listen on the loopback addresses:
flowpipe server --listen local
Flowpipe listens on port 7103 by default, but you can use the --port
argument to use a different one:
flowpipe server --port 7104
While the server is running, Flowpipe will watch your mod files for changes and automatically update the server. You can disable this with the --watch
argument if you prefer not to update the server instance as the files change:
flowpipe server --watch=false
Often it is simpler to manage all of these settings with a workspace instead. For example, you can add a workspace
to your workspaces file (~/.flowpipe/config/workspaces.fpc
):
workspace "my_server" { listen = local port = 7104 host = http://localhost:7104 watch = false}
And then use the --workspace
flag when you start the server:
flowpipe server --workspace my_server
and when you run other Flowpipe commands against that server:
flowpipe trigger list --workspace my_server