Hi all 👋
I'm running prefect server on a single node private server and have a LocalAgent process running on the same machine and querying the API for flow runs. The use case is ETL. I just noticed that the same flow, when launched from the command linewithflow.run(), takes 30s to execute, and when launched from the UI with "quick run", takes 5 minutes.
The first task of the flow returns a list of 200 files, and the subsequent tasks are mapped to handle these files one by one.
Any idea why this 10x difference in execution time occurs ?
Many thanks!
a
Amanda Wee
03/22/2021, 11:43 AM
One possibility that comes to mind is that
flow.run()
does not have checkpointing enabled by default, whereas it is enabled by default on prefect server (or cloud):
https://docs.prefect.io/core/concepts/results.html#pipeline-persisted-results
So this could mean that there's additional time needed to persist the prefect task results, from the list of 200 files to the results of subsequent tasks.
Hi!
Deactivating checkpointing didn't help. I don't really need higher performance so I won't dig into this much more, but if I happen to find something i'll share it.
Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.