Run and Rerun

During a retrace FlowTracer will analyze the current state of dependencies to create an internal model called the runtime trace, which supports the action of scheduling and dispatching of programs to bring all files up to date. The use of the "re" prefix is used even if it is the first time it is requested for a project. This terminology is a technical way of saying the more casual operations "Run" or "Rerun". From now on, a retrace will be referred to with the "Run" notation.

There can be any number of concurrent run requests. FlowTracer makes sure that, although there are multiple run requests, each job is executed only once and in the correct order.

The same icon is used in all interfaces for the Run button. It is the universal Play icon.

You can run a job with a target that is any combination of:
  • a single file
  • a single job
  • a set of nodes
  • the jobs in a directory
  • or the whole project
When you request a run:
  1. FlowTracer checks whether the target is already up-to-date (e.g. it is VALID), in which case nothing happens
  2. If the target is not up-to-date, FlowTracer finds all the jobs that need to be executed to bring the target up-to-date
  3. Starts dispatching them to the taskers.

You can assign a priority for a job when it is registered with FlowTracer. You can reset the priority from the GUI using the Retrace Priority Flags dialog which is described below.

The behavior of a run request is further controlled by a number of retrace modes, which affect execution and scheduling of jobs in the presence of barriers and failed nodes.