Skip to main content
Events let one part of the app announce that something happened without knowing, or caring, who reacts to it. Creating a user is the usual example: the signup code shouldn’t need to know about your analytics.

Defining an event

Listening

Dispatching

Async listeners run in a ThreadPoolExecutor with four workers. They suit non-critical work such as analytics, logging and notifications. For anything that must not be lost, enqueue a background job.