Sage - Implementation of Sagas pattern in pure Elixir.
Sage is an dependency-free implementation of Sagas pattern in pure Elixir. It is go to way when you dealing with distributed transactions, especially with an error recovery/cleanup. Sage guarantees that either all the transactions in a saga are successfully completed or compensating transactions are run to amend a partial execution.
It’s like Ecto.Multi but across business logic and third-party APIs.
Read next The Secret Behind Elixir Operator Re-Definitions: + to -