I have a simple ETL workflow composed of three tasks for each table I want to extract :
1_extract_to_tmp >> 2_push_to_s3 >> 3_delete_tmp
As I want to reproduce the same steps for multiple tables, I was thinking of grouping these task in a TaskGroup or a subDAG and instanciate it dynamically for each table to extract. My final DAG will look like this :

From what I read, the TaskGroup is the prefered solution now to do that.
The problem is that I also need to control how much extractions are done in parallel because I don't have enough local disk space for all data and apparently the subDag operator does not comply to pool setting and the TaskGroup does not have one.
Do you know a way to achieve this ?
Am I doing it wrong ?
Maybe my DAG should not be designed like that.