environment/lib/python2.7/site-packages/IPython/frontend/html/notebook/handlers.py
def start_hb(self, callback):
        """Start the heartbeating and call the callback if the kernel dies."""
        if not self._beating:
            self._kernel_alive = True

            def ping_or_dead():
                self.hb_stream.flush()
                if self._kernel_alive:
                    self._kernel_alive = False
                    self.hb_stream.send(b'ping')
                    # flush stream to force immediate socket send
                    self.hb_stream.flush()
                else:
                    try:
                        callback()
                    except:
                        pass
                    finally:
                        self.stop_hb()

            def beat_received(msg):
                self._kernel_alive = True

            self.hb_stream.on_recv(beat_received)
            loop = ioloop.IOLoop.instance()
            self._hb_periodic_callback = ioloop.PeriodicCallback(ping_or_dead, self.time_to_dead*1000, loop)
            loop.add_timeout(time.time()+self.first_beat, self._really_start_hb)
            self._beating= True
def start_hb(self, callback):
        if not self._beating:
            self._kernel_alive = True

            def ping_or_dead():
                self.hb_stream.flush()
                if self._kernel_alive:
                    self._kernel_alive = False
                    self.hb_stream.send(b'ping')
                    # flush stream to force immediate socket send
                    self.hb_stream.flush()
                else:
                    try:
                        callback()
                    except:
                        pass
                    finally:
                        self.stop_hb()

            def beat_received(msg):
                self._kernel_alive = True

            self.hb_stream.on_recv(beat_received)
            loop = ioloop.IOLoop.instance()
            self._hb_periodic_callback = ioloop.PeriodicCallback(ping_or_dead, self.time_to_dead*1000, loop)
            loop.add_timeout(time.time()+self.first_beat, self._really_start_hb)
            self._beating= True
def start_hb ( self , callback ) : if not self . _beating : self . _kernel_alive = True def ping_or_dead ( ) : self . hb_stream . flush ( ) if self . _kernel_alive : self . _kernel_alive = False self . hb_stream . send ( b'ping' ) # flush stream to force immediate socket send self . hb_stream . flush ( ) else : try : callback ( ) except : pass finally : self . stop_hb ( ) def beat_received ( msg ) : self . _kernel_alive = True self . hb_stream . on_recv ( beat_received ) loop = ioloop . IOLoop . instance ( ) self . _hb_periodic_callback = ioloop . PeriodicCallback ( ping_or_dead , self . time_to_dead * 1000 , loop ) loop . add_timeout ( time . time ( ) + self . first_beat , self . _really_start_hb ) self . _beating = True
Start the heartbeating and call the callback if the kernel dies.
Start the heartbeating and call the callback if the kernel dies .