# Asynchronous pipeline with dry-transaction

**URL:** <https://discourse.dry-rb.org/t/asynchronous-pipeline-with-dry-transaction/137>\
**Category:** Uncategorized\
**Created:** [October 22, 2016, 5:20am UTC](https://discourse.dry-rb.org/t/asynchronous-pipeline-with-dry-transaction/137 "2016-10-22T05:20:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bolshakov](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/bolshakov/32/115_2.png) [@bolshakov](https://discourse.dry-rb.org/u/bolshakov)\
**Post date:** [October 22, 2016, 5:20am UTC](https://discourse.dry-rb.org/t/asynchronous-pipeline-with-dry-transaction/137/1 "2016-10-22T05:20:38Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![alexandru-calinoiu](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/alexandru-calinoiu/32/98_2.png) [@alexandru-calinoiu](https://discourse.dry-rb.org/u/alexandru-calinoiu)\
**Post date:** [April 20, 2017, 12:24pm UTC](https://discourse.dry-rb.org/t/asynchronous-pipeline-with-dry-transaction/137/2 "2017-04-20T12:24:31Z")

</div>

Hi,

I’ve implemented an `async` step adapter that uses `queue` or `sidekiq` under the covers, here is a stripped down version using sidkiq [https://gist.github.com/alexandru-calinoiu/d01028d73ab4ea6ad28c48a9650e403d](https://gist.github.com/alexandru-calinoiu/d01028d73ab4ea6ad28c48a9650e403d)

For more details checkout this repo `https://github.com/icelab/berg` they have the implementation in context.
