Croupier::Task
Inherits YAML::Serializable::Strict / YAML::Serializable / Reference / Object
A Task is an object that may generate output
It has a Proc which is executed when the task is run
It can have zero or more inputs
It has zero or more outputs
Tasks are connected by dependencies, where one task's output is another's input
Constructors
Create a task with zero or one outputs. Overload for convenience.
Instance methods
Mark that a dependency (input) is known to be unchanged. Recomputes staleness considering ALL inputs together (thread-safe).
Merge two tasks.
inputs and outputs are joined procs of the second task are added to the 1st
For inputs that are tasks, we check if they are stale For inputs that are not tasks, they should exist as files If any inputs don't fit those criteria, they are being waited for.