Asynchronous pipeline with dry-transaction


I’m curios, if someone builds asynchronous pipelines using dry-transaction? Something like this:

  • Call external service with error handling and retries.
  • If result was sucessful, call external service (with retries)
  • Run two tasks in parallel

Currently I implement such a workflow using sidekiq, but it’s very hard to compos working units from outside.



I’ve implemented an async step adapter that uses queue or sidekiq under the covers, here is a stripped down version using sidkiq

For more details checkout this repo they have the implementation in context.