emre
11/30/2020, 10:55 AMflow.run(executor=LocalDaskExecutor(scheduler="threads", num_workers=4))
and can execute tasks in parallel. The server registration is as follows:
flow.storage = Docker(....)
flow.run_config = DockerRun()
flow.executor = LocalDaskExecutor(scheduler="threads", num_workers=4)
flow.register(project_name=... , build=False)
The flow can run and communicate with prefect server, but the tasks are executed sequentially. Both the gannt chart and the logs show this.
Am I missing something? (prefect==0.13.13)Vladimir Zoubritsky
11/30/2020, 11:17 AMenvironment
instead worked
flow.environment = LocalEnvironment(executor=LocalDaskExecutor(scheduler="threads", num_workers=4))
emre
11/30/2020, 11:52 AMLocalExecutor
. Can you (or anyone else) verify whether prefect server shows information about the executor for a registered flow? Either directly under the flow details, or under the flow environment details?Vladimir Zoubritsky
11/30/2020, 11:57 AMemre
11/30/2020, 12:33 PMflow.storage,flow.run_config, flow.executor
) at register time, while building a custom docker image, and serializing my flow in the docker image before register time, in a previous run of python.
Therefore, my serialized flow pickle had empty values for flow.storage
and flow.executor
. I suppose only storage
and run_config
are sent to server, and executor
is not. Since prefect server was not enforcing an executor on my flow run, and my serialized flow had no executor choice, I was falling back to the default LocalExecutor
.
Many thanks, discussing with you probably saved me multiple hours 😊Chris White
Marvin
11/30/2020, 4:09 PM