diff --git a/IPython/parallel/controller/controller.py b/IPython/parallel/controller/controller.py index 381b00b..3295706 100755 --- a/IPython/parallel/controller/controller.py +++ b/IPython/parallel/controller/controller.py @@ -109,8 +109,10 @@ class ControllerFactory(HubFactory): else: self.log.info("task::using Python %s Task scheduler"%self.scheme) - sargs = (self.client_info['task'][1], self.engine_info['task'], self.monitor_url, self.client_info['notification']) - kwargs = dict(scheme=self.scheme,logname=self.log.name, loglevel=self.log.level, config=self.config) + sargs = (self.client_info['task'][1], self.engine_info['task'], + self.monitor_url, self.client_info['notification']) + kwargs = dict(scheme=self.scheme,logname=self.log.name, loglevel=self.log.level, + config=dict(self.config)) q = Process(target=launch_scheduler, args=sargs, kwargs=kwargs) q.daemon=True children.append(q) diff --git a/IPython/parallel/controller/scheduler.py b/IPython/parallel/controller/scheduler.py index 6e3a3ba..1d9448a 100644 --- a/IPython/parallel/controller/scheduler.py +++ b/IPython/parallel/controller/scheduler.py @@ -34,6 +34,7 @@ from zmq.eventloop import ioloop, zmqstream # local imports from IPython.external.decorator import decorator +from IPython.config.loader import Config from IPython.utils.traitlets import Instance, Dict, List, Set from IPython.parallel import error @@ -557,9 +558,12 @@ def launch_scheduler(in_addr, out_addr, mon_addr, not_addr, config=None,logname= from zmq.eventloop import ioloop from zmq.eventloop.zmqstream import ZMQStream + if config: + # unwrap dict back into Config + config = Config(config) + ctx = zmq.Context() loop = ioloop.IOLoop() - print (in_addr, out_addr, mon_addr, not_addr) ins = ZMQStream(ctx.socket(zmq.XREP),loop) ins.setsockopt(zmq.IDENTITY, identity) ins.bind(in_addr)