Sean Leakehe
12/13/2021, 10:33 PMfunc4
to have an upstream dependency on func1
, it executes at the same time as func2
, as expected. However, if we make func4
a mapped task with the same upstream dependency on func1
, it doesn’t actually execute until after func3
has finished. Is there a way to get mapped tasks to run in parallel?Anna Geller
Sean Leakehe
12/13/2021, 11:12 PMfunc1
has finished, we should have 4 available workers so shouldn’t we be able to run func2
and func4 parallel
at the same time?Anna Geller
Sean Leakehe
12/13/2021, 11:31 PMSean Leakehe
12/13/2021, 11:52 PMwith Flow(name="dask_flow") as flow:
func1_task = func1()
func2_task = func2(upstream_tasks=[func1_task])
func3_task = func3(upstream_tasks=[func2_task])
func4_task = func4(upstream_tasks=[func1_task])
func5_task = func5(upstream_tasks=[func1_task])
func6_task = func6(upstream_tasks=[func1_task])
The log appears to show that we have 4 normal tasks running concurrently:
(base) EHFVFY90ZWHV2H:flows seanlekehe$ python test.py
[2021-12-13 16:45:57-0700] INFO - prefect.FlowRunner | Beginning Flow run for 'dask_flow'
[2021-12-13 16:45:58-0700] INFO - prefect.TaskRunner | Task 'func1': Starting task run...
Running func1
[2021-12-13 16:46:03-0700] INFO - prefect.TaskRunner | Task 'func1': Finished task run for task with final state: 'Success'
[2021-12-13 16:46:03-0700] INFO - prefect.TaskRunner | Task 'func2': Starting task run...
Running func2
[2021-12-13 16:46:03-0700] INFO - prefect.TaskRunner | Task 'func4': Starting task run...
Running func4
[2021-12-13 16:46:03-0700] INFO - prefect.TaskRunner | Task 'func6': Starting task run...
Running func6
[2021-12-13 16:46:03-0700] INFO - prefect.TaskRunner | Task 'func5': Starting task run...
Running func5
[2021-12-13 16:46:04-0700] INFO - prefect.TaskRunner | Task 'func5': Finished task run for task with final state: 'Success'
[2021-12-13 16:46:04-0700] INFO - prefect.TaskRunner | Task 'func4': Finished task run for task with final state: 'Success'
[2021-12-13 16:46:04-0700] INFO - prefect.TaskRunner | Task 'func6': Finished task run for task with final state: 'Success'
[2021-12-13 16:46:08-0700] INFO - prefect.TaskRunner | Task 'func2': Finished task run for task with final state: 'Success'
[2021-12-13 16:46:08-0700] INFO - prefect.TaskRunner | Task 'func3': Starting task run...
Running func3
[2021-12-13 16:46:13-0700] INFO - prefect.TaskRunner | Task 'func3': Finished task run for task with final state
Sean Leakehe
12/13/2021, 11:53 PMChris Vrooman
12/14/2021, 1:25 AMKevin Kho
Kevin Kho