A runner is the glue between input data, the model, and its environment. Runners make it easy to get decision data into models, test those models, and go from model development deploy them in production into different environments. This makes iteration faster and shortens the path from asking "what if..." to achieving real production impact. Runners read in data described by a Go struct and output decisions, typically in JSON.
A runner does the following things:
- Read Hop or Dash configuration from the environment and command line.
- Read JSON data into a model-specific root state.
- Construct a solver or simulator.
- Call the solver or simulator.
- Output solutions.
We support a range of runners and are always growing our toolkit based on customer needs. Currently, we offer several pre-built options:
- CLI Runner
- Tests Runner
- Lambda Runner
- HTTP Runner