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` #38

Closed andrewberls closed 9 years ago

andrewberls commented 9 years ago

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.

elliot42 commented 9 years ago

:+1:

elliot42 commented 9 years ago

I think this probably justifies at least a minor version bump?

elliot42 commented 9 years ago

Theoretically speaking at least.

andrewberls commented 9 years ago

Yeah probably. I'm worried we'll reach 1.0 before it's actually a state I want to declare 1.0 though - given there have been 0 callers of fail past or present I think this is ok as is

elliot42 commented 9 years ago

Haha I don't think it's a decimal system-- like after 0.9.0 is 0.10.0, not 1.0.0

elliot42 commented 9 years ago

Not a blocker

andrewberls commented 9 years ago

derp_derp_derp

elliot42 commented 9 years ago

No I mean I totally remember thinking the same thing.