Closed isaacseymour closed 8 years ago
@isaacseymour Flow will always fail so you need to control the failures yourself. Either by moving the work elsewhere or by storing failures elsewhere in a way they can be restarted. You probably want to do the latter, using the supervisors for retrying network services is less than ideal because you don't have cool down or back off periods.
Thanks for the speedy response! :)
First, thanks for this awesome library - it makes parallel FP a joy 😄 . This may just be me being an Elixir newbie, but I'm struggling to work out how to make
Flow
retry failures, e.g.:The same happens if I run the Flow using
Flow.start_link(flow)
, orDynamicSupervisor.start_link([worker(Flow, [])], strategy: :one_for_one)
and thenDynamicSupervisor.start_child(supervisor_pid, [flow])
.The actual use-case involves hitting the network on each step of a multi-stage flow, so some failures are to be expected, and just restarting the process which is consuming that event should resolve it. Is there any way to get that behaviour using
Flow
, or should I be looking at usingGenStage
and a supervision tree?