def bk_worker(bokeh_port: int) -> None: pn.extension() server = bokeh.server.server.Server( {"/": modify_doc}, io_loop=tornado.ioloop.IOLoop(), allow_websocket_origin=[f"127.0.0.1:{bokeh_port}"], port=bokeh_port, ) server.start() server.io_loop.start()
def main(): io_loop = tornado.ioloop.IOLoop.current() bokeh_app = bokeh.application.Application( bokeh.application.handlers.FunctionHandler( examples.weather_data_explorer.WeatherDataExplorer())) server = bokeh.server.server.Server({"/app": bokeh_app}, io_loop=io_loop) server.start() io_loop.add_callback(server.show, "/") io_loop.start()
def test_base_server() -> None: app = BokehTornado(Application()) httpserver = HTTPServer(app) httpserver.start() loop = IOLoop() loop.make_current() server = BaseServer(loop, app, httpserver) server.start() assert server.io_loop == loop assert server._tornado.io_loop == loop httpserver.stop() server.stop() server.io_loop.close()
def test_base_server(): app = BokehTornado(Application()) httpserver = HTTPServer(app) httpserver.start() loop = IOLoop() loop.make_current() server = BaseServer(loop, app, httpserver) server.start() assert server.io_loop == loop assert server._tornado.io_loop == loop httpserver.stop() server.stop() server.io_loop.close()
def test__ioloop_not_forcibly_stopped(): # Issue #5494 application = Application() loop = IOLoop() loop.make_current() server = Server(application, ioloop=loop) server.start() result = [] def f(): server.unlisten() server.stop() # If server.stop() were to stop the Tornado IO loop, # g() wouldn't be called and `result` would remain empty. loop.add_timeout(timedelta(seconds=0.01), g) def g(): result.append(None) loop.stop() loop.add_callback(f) loop.start() assert result == [None]
def test__ioloop_not_forcibly_stopped(): # Issue #5494 application = Application() loop = IOLoop() loop.make_current() server = Server(application, io_loop=loop) server.start() result = [] def f(): server.unlisten() server.stop() # If server.stop() were to stop the Tornado IO loop, # g() wouldn't be called and `result` would remain empty. loop.add_timeout(timedelta(seconds=0.01), g) def g(): result.append(None) loop.stop() loop.add_callback(f) loop.start() assert result == [None]