Closed andrewberls closed 9 years ago
:+1:
why were we doing this?
The ultimate goal here was to have jobs be more declarative in terms of their inputs/outputs. pre-processing is a nice place for us to pull in all our dependencies, and for example jobs can return a map/vector of generated parts and post-processors can upload those - there could even be a single shared util postprocessor that just uploads all artifacts
Before, job handlers could only be functions accepting a job map. This extends the system such that maps can be used as job handlers, specifically of the form
where
res
in post-process is the arbitrary value (if meaningful) returned from the mainprocess
job. Note that if exceptions will halt control flow; if eitherpre-process
orprocess
throw, no future steps will run!