I made this for a generator I made (example,
https://phantasmagoria.stavros.io/images/6cJAbYyeDXfA6oHZ/).
It's just a task library (I used Dramatiq) with a worker that connects to it. Then the worker picks up tasks, processes them and uploads the results to R2.