Gabriel Milan
01/11/2022, 4:06 PMUnexpected error: TypeError('no default __reduce__ due to non-trivial __cinit__')
Traceback (most recent call last):
File "/opt/venv/lib/python3.9/site-packages/prefect/engine/runner.py", line 48, in inner
new_state = method(self, state, *args, **kwargs)
File "/opt/venv/lib/python3.9/site-packages/prefect/engine/task_runner.py", line 926, in get_task_run_state
result = self.result.write(value, **formatting_kwargs)
File "/opt/venv/lib/python3.9/site-packages/prefect/engine/results/gcs_result.py", line 75, in write
binary_data = new.serializer.serialize(new.value)
File "/opt/venv/lib/python3.9/site-packages/prefect/engine/serializers.py", line 73, in serialize
return cloudpickle.dumps(value)
File "/opt/venv/lib/python3.9/site-packages/cloudpickle/cloudpickle_fast.py", line 73, in dumps
cp.dump(obj)
File "/opt/venv/lib/python3.9/site-packages/cloudpickle/cloudpickle_fast.py", line 602, in dump
return Pickler.dump(self, obj)
File "stringsource", line 2, in pymssql._mssql.MSSQLConnection.__reduce_cython__
TypeError: no default __reduce__ due to non-trivial __cinit__
I'm using Prefect 0.15.9 and pymssql 2.2.3. The task that raised it is the following
@task
def sql_server_get_connection(server: str, user: str, password: str, database: str):
"""
Returns a connection to the SQL Server.
"""
log(f"Connecting to SQL Server: {server}")
# pylint: disable=E1101
return pymssql.connect(
server=server, user=user, password=password, database=database
)
Kevin Kho
@task(checkpoint=False)
Gabriel Milan
01/11/2022, 4:09 PM