Session: Scaling Web Applications with Background Jobs: Takeaways from Generating a Huge PDF
Do you need to perform time-consuming or CPU-intensive processes in your web application but are concerned about performance? That’s where background jobs come in. By offloading resource-intensive tasks to separate worker processes, you can improve the scalability of your web application.
In this talk, I’ll share my experience of using background jobs to scale our web application. I’ll discuss the challenges my team faced that led us to adopt background jobs. Then, I’ll share practical tips on how to design background jobs for CPU-intensive or time-consuming processes, such as generating huge PDFs and batch emailing. I’ll wrap up by going over the performance and cost tradeoffs of background jobs.
I’ll use Typescript, Express, and Heroku as examples in this talk, but the concepts and best practices that I’ll share are applicable to other languages and tools.