Hi, I have an earlier pipeline set up on prefect ui which runs without a problem. now i intend to register a separate pipeline to the same project but it’s throwing cloudpickle error. could it be due to setup, or any datatype? not using dask executor. thanks.
k
Kevin Kho
11/08/2021, 7:59 PM
Hey @KhTan, this indicates that you are passing something that cannot be pickled between tasks like a Client (database, or boto3)
thanks @Kevin Kho
the last task of the pipe is write to database, which worked fine in the other pipe. in between tasks i’m passing lists and dataframes, could that cause issues?
KhTan
11/08/2021, 8:19 PM
it also works in ‘flow.run()’ mode, but not in ‘flow.register’ mode
k
Kevin Kho
11/08/2021, 8:20 PM
Lists and DataFrames are serializeable so that it normally not the issue. Yes this happens because
register()
serializes the flow by default
Kevin Kho
11/08/2021, 8:21 PM
The traceback here says you are returning a Google Client somewhere? Or maybe passing it to a Task?
Kevin Kho
11/08/2021, 8:21 PM
You can move that code inside the task instead
k
KhTan
11/08/2021, 8:30 PM
indeed due to a Google Client! thanks and problem fixed