Powering Your Data Pipelines with Scalable Background Workers