Best Practices for Multiple BGProcessingTasks in an App

Hi all,

My app downloads data from various API endpoints and stores it in corresponding CoreData entities for fast offline access. It does an initial sync the first time the app launches, and users can pull to refresh the data from the appropriate endpoints on the corresponding screens.

I’m also using a BGProcessingTask to handle these data syncs passively when the app is backgrounded. I’m hitting quite a few API endpoints in a chained series of completion handlers, and if the user is logged in, I’m hitting a few more on top of that. 

I understand that BGProcessingTasks are designed for long running processes. My question is are there any best (or wrong) practices for having multiple BGProcessingTasks in your app? I’m looking to split everything up into 3 or 4 separate tasks so that each one can complete faster, and hopefully with a higher success rate. 

Thank you in advance!

Scott