Time-based automations and durable jobs are a very difficult problem. Elixir has amazing tools to solve for this, and you can tie them all together elegantly with Ash extensions. In this talk, after a brief introduction to Ash, I’ll guide you through AshOban’s trigger-and-scheduler-based approach, illustrating how to configure and manage periodic actions within your applications effectively. We’ll delve into error handling and transaction management, ensuring robust and reliable operations.
I’ll also showcase the power of AshStateMachine, showcasing its ability to define clear and flexible state transitions within Ash resources. Together we’ll see how to implement state machines elegantly, manage state transitions, and visualize these processes for better understanding and debugging.
We’ll wrap up by looking at how we can combine these two tools, and how to integrate this setup with powerful tools like AshPaperTrail and FLAME.