Understand Async Job Systems

Async jobs simplify our application by letting us extract side effects out of the main path of our code. This can dramatically improve the performance of our application in a variety of situations. We don’t have to worry about whether we should make the expensive HTTP call in our controller. We can simply fire a background job and let it process!

A good async job system will do much more than this. Complex tasks can be broken into subtasks and orchestrated to solve difficult problems with less code than if you built it yourself.

Let’s start by looking at use cases for async jobs, followed by a litmus test for when to extract code into an async job. We’ll finish this section by considering what makes a good job system. ...

Get From Ruby to Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.