framed-data / overseer

Overseer is a library for building and running data pipelines in Clojure.
Eclipse Public License 1.0
97 stars 10 forks source link

Remove `api/fail` in favor of `api/abort` and `abort-silent` #36

Closed andrewberls closed 9 years ago

andrewberls commented 9 years ago

This relies on work from https://github.com/framed-data/overseer/pull/34

Previously Overseer offered two flow-control constructs to users: fail and abort. The idea was that aborts cause a job to halt immediately and cancel the execution of all its dependents, whereas a failure would not cancel dependent execution.

In practice this does not make any sense - if a parent fails, a child will not be able to run, otherwise the dependency was incorrectly specified. Thus, this removes the failure construct in favor of supplanting the semantics of abort such that abort is now "loud abort", i.e. it has the same behavior but also logs errors and sends to Sentry, whereas abort-silent also cancels dependents but does not send errors to Sentry.

andrewberls commented 9 years ago

Pretty significant conflicts with https://github.com/framed-data/overseer/pull/34 - re-opening with that as a base