environment/lib/python2.7/site-packages/IPython/parallel/controller/scheduler.py
def handle_stranded_tasks(self, engine):
        """Deal with jobs resident in an engine that died."""
        lost = self.pending[engine]
        for msg_id in lost.keys():
            if msg_id not in self.pending[engine]:
                # prevent double-handling of messages
                continue

            raw_msg = lost[msg_id].raw_msg
            idents,msg = self.session.feed_identities(raw_msg, copy=False)
            parent = self.session.unpack(msg[1].bytes)
            idents = [engine, idents[0]]

            # build fake error reply
            try:
                raise error.EngineError("Engine %r died while running task %r"%(engine, msg_id))
            except:
                content = error.wrap_exception()
            # build fake header
            header = dict(
                status='error',
                engine=engine,
                date=datetime.now(),
            )
            msg = self.session.msg('apply_reply', content, parent=parent, subheader=header)
            raw_reply = map(zmq.Message, self.session.serialize(msg, ident=idents))
            # and dispatch it
            self.dispatch_result(raw_reply)

        # finally scrub completed/failed lists
        self.completed.pop(engine)
        self.failed.pop(engine)
def handle_stranded_tasks(self, engine):
        lost = self.pending[engine]
        for msg_id in lost.keys():
            if msg_id not in self.pending[engine]:
                # prevent double-handling of messages
                continue

            raw_msg = lost[msg_id].raw_msg
            idents,msg = self.session.feed_identities(raw_msg, copy=False)
            parent = self.session.unpack(msg[1].bytes)
            idents = [engine, idents[0]]

            # build fake error reply
            try:
                raise error.EngineError("Engine %r died while running task %r"%(engine, msg_id))
            except:
                content = error.wrap_exception()
            # build fake header
            header = dict(
                status='error',
                engine=engine,
                date=datetime.now(),
            )
            msg = self.session.msg('apply_reply', content, parent=parent, subheader=header)
            raw_reply = map(zmq.Message, self.session.serialize(msg, ident=idents))
            # and dispatch it
            self.dispatch_result(raw_reply)

        # finally scrub completed/failed lists
        self.completed.pop(engine)
        self.failed.pop(engine)
def handle_stranded_tasks ( self , engine ) : lost = self . pending [ engine ] for msg_id in lost . keys ( ) : if msg_id not in self . pending [ engine ] : # prevent double-handling of messages continue raw_msg = lost [ msg_id ] . raw_msg idents , msg = self . session . feed_identities ( raw_msg , copy = False ) parent = self . session . unpack ( msg [ 1 ] . bytes ) idents = [ engine , idents [ 0 ] ] # build fake error reply try : raise error . EngineError ( "Engine %r died while running task %r" % ( engine , msg_id ) ) except : content = error . wrap_exception ( ) # build fake header header = dict ( status = 'error' , engine = engine , date = datetime . now ( ) , ) msg = self . session . msg ( 'apply_reply' , content , parent = parent , subheader = header ) raw_reply = map ( zmq . Message , self . session . serialize ( msg , ident = idents ) ) # and dispatch it self . dispatch_result ( raw_reply ) # finally scrub completed/failed lists self . completed . pop ( engine ) self . failed . pop ( engine )
Deal with jobs resident in an engine that died.
Deal with jobs resident in an engine that died .