Using asynchronous tasks could be already a challenge: what if you need to add some spice and add a transaction to it?
Usually, a transaction means something like code blocking. Isn't it awkward to combine two opposing concepts? Well, it's not! They can work together nicely, as this recipe will show you.