datacube.utils.dask.compute_tasks(tasks, client, max_in_flight=3)[source]

Parallel compute stream with back pressure.

Equivalent to:

(client.compute(task).result()

but with up to max_in_flight tasks being processed at the same time. Input/Output order is preserved, so there is a possibility of head of line blocking.