diff --git a/osbrain/__init__.py b/osbrain/__init__.py index 8242857..cca8353 100644 --- a/osbrain/__init__.py +++ b/osbrain/__init__.py @@ -14,8 +14,9 @@ def mkdir(directory, **kwargs): import Pyro4 Pyro4.config.SERIALIZERS_ACCEPTED.add('pickle') +Pyro4.config.SERIALIZERS_ACCEPTED.add('cloudpickle') Pyro4.config.SERIALIZERS_ACCEPTED.add('dill') -Pyro4.config.SERIALIZER = 'dill' +Pyro4.config.SERIALIZER = 'cloudpickle' Pyro4.config.THREADPOOL_SIZE = 16 Pyro4.config.SERVERTYPE = 'thread' Pyro4.config.REQUIRE_EXPOSE = False diff --git a/osbrain/agent.py b/osbrain/agent.py index eb991a7..0c517d7 100644 --- a/osbrain/agent.py +++ b/osbrain/agent.py @@ -259,7 +259,7 @@ def _handle_loopback(self, message): """ Handle incoming messages in the loopback socket. """ - header, data = dill.loads(message) + header, data = cloudpickle.loads(message) if header == 'EXECUTE_METHOD': method, args, kwargs = data try: @@ -277,7 +277,7 @@ def _handle_loopback_safe(self, data): """ Handle incoming messages in the _loopback_safe socket. """ - method, args, kwargs = dill.loads(data) + method, args, kwargs = cloudpickle.loads(data) try: response = getattr(self, method)(*args, **kwargs) except Exception as error: @@ -306,7 +306,7 @@ def _loopback(self, header, data=None): """ if not self.running: raise NotImplementedError() - data = dill.dumps((header, data)) + data = cloudpickle.dumps((header, data)) return self._loopback_reqrep('inproc://loopback', data) def safe_call(self, method, *args, **kwargs): @@ -327,7 +327,7 @@ def safe_call(self, method, *args, **kwargs): if not self.running: raise RuntimeError( 'Agent must be running to safely execute methods!') - data = dill.dumps((method, args, kwargs)) + data = cloudpickle.dumps((method, args, kwargs)) return self._loopback_reqrep('inproc://_loopback_safe', data) def each(self, period, method, *args, alias=None, **kwargs):