I am unclear how to register custom serializers when using ray cluster. The docs say that serializers are managed locally for each worker. When using the Kubernetes operator to launch workers how do I register the custom serializers when the workers are launched? In addition when I try and call register_serializer on the client after calling ray.client(f’127.0.0.1:{LOCAL_PORT}’).connect() I get
Traceback (most recent call last):
File "xxx/ts/ray/example.py", line 17, in <module>
register_custom_serializers()
File "xxx/ts/enamine/utils.py", line 63, in register_custom_serializers
ray.util.register_serializer(oegraphsim.OEFingerPrint, serializer=oefingerprint_serializer, deserializer=oefingerprint_deserializer)
File "xxx/venv/lib/python3.8/site-packages/ray/util/serialization.py", line 18, in register_serializer
context = ray.worker.global_worker.get_serialization_context()
File "xxx/venv/lib/python3.8/site-packages/ray/worker.py", line 209, in get_serialization_context
with self.lock:
AttributeError: 'Worker' object has no attribute 'lock'