我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用tornado.ioloop.stop()。
def stop(self): """Stop the I/O loop. If the event loop is not currently running, the next call to `start()` will return immediately. To use asynchronous methods from otherwise-synchronous code (such as unit tests), you can start and stop the event loop like this:: ioloop = IOLoop() async_method(ioloop=ioloop, callback=ioloop.stop) ioloop.start() ``ioloop.start()`` will return after ``async_method`` has run its callback, whether that callback was invoked before or after ``ioloop.start``. Note that even after `stop` has been called, the `IOLoop` is not completely stopped until `IOLoop.start` has also returned. Some work that was scheduled before the call to `stop` may still be run before the `IOLoop` shuts down. """ raise NotImplementedError()
def shutdown(ioloop, server): ''' ??server :param server: tornado.httpserver.HTTPServer ''' logging.info( "HTTP interpreter service will shutdown in %ss...", 1) server.stop() deadline = time.time() + 1 def stop_loop(): ''' ????loop ''' now = time.time() if now < deadline and (ioloop._callbacks or ioloop._timeouts): ioloop.add_timeout(now + 1, stop_loop) else: # ?????? callback ? timeout ? ioloop.stop() logging.info('Shutdown!') stop_loop()
def close(self, all_fds=False): """Closes the `IOLoop`, freeing any resources used. If ``all_fds`` is true, all file descriptors registered on the IOLoop will be closed (not just the ones created by the `IOLoop` itself). Many applications will only use a single `IOLoop` that runs for the entire lifetime of the process. In that case closing the `IOLoop` is not necessary since everything will be cleaned up when the process exits. `IOLoop.close` is provided mainly for scenarios such as unit tests, which create and destroy a large number of ``IOLoops``. An `IOLoop` must be completely stopped before it can be closed. This means that `IOLoop.stop()` must be called *and* `IOLoop.start()` must be allowed to return before attempting to call `IOLoop.close()`. Therefore the call to `close` will usually appear just after the call to `start` rather than near the call to `stop`. .. versionchanged:: 3.1 If the `IOLoop` implementation supports non-integer objects for "file descriptors", those objects will have their ``close`` method when ``all_fds`` is true. """ raise NotImplementedError()
def start(self): """Starts the I/O loop. The loop will run until one of the callbacks calls `stop()`, which will make the loop stop after the current event iteration completes. """ raise NotImplementedError()
def stop(self): self._running = False self._stopped = True self._waker.wake()
def close_proxy(self): ioloop = tornado.ioloop.IOLoop.instance() logging.info('stop proxy server') ioloop.stop()