Skip to content
Leif Johansson edited this page Apr 19, 2019 · 1 revision

Running pyFF

There are two ways to run pyFF:

  1. Use the pyff command to execute a pipeline. This is sometimes called batch or one-shot mode. In this case pyFF runs through the steps of the pipeline and terminates when done.
  2. Use the pyff server (either via pyffd or via the pyff api wsgi application). In this mode pyFF starts a service which can be access either as a web application or a REST api or both. The API is based on the Metadata Query Protocol (draft-young-md-query) along with a small set of Extensions to MDQ.

In the latter case the way pyFF responds to requests via the REST api is determined by the pipeline which usually means splitting the pipeline into sections using the when pipe. Exactly which section is called is determined by the initial state (cf above). Normally the update state is used to trigger a set of load-transform steps used to populate the metadata store while the request state is used to generate a response to an MDQ query. The way pyFF responds to MDQ is completely under the control of the pipeline and is therefore highly customizable.

Deploying pyFF

While pyFF can be deployed using a standard python virtualenv and ./setup install, it is highly recommended (esp for beginners) to deploy pyFF using a docker-container.

Clone this wiki locally