mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-06-23 12:37:59 +02:00
initialise WebServer in pydase.Server constructor
The WebServer can be initialised in the pydase.Server constructor without any problems. This would allow users to access the socketio server before starting the pydase.Server.
This commit is contained in:
@ -182,6 +182,14 @@ class Server:
|
||||
self._state_manager.load_state()
|
||||
autostart_service_tasks(self._service)
|
||||
|
||||
self._web_server = WebServer(
|
||||
data_service_observer=self._observer,
|
||||
host=self._host,
|
||||
port=self._web_port,
|
||||
enable_frontend=self._enable_web,
|
||||
**self._kwargs,
|
||||
)
|
||||
|
||||
def run(self) -> None:
|
||||
"""
|
||||
Initializes the asyncio event loop and starts the server.
|
||||
@ -211,6 +219,10 @@ class Server:
|
||||
self._loop.set_exception_handler(self.custom_exception_handler)
|
||||
self.install_signal_handlers()
|
||||
|
||||
server_task = self._loop.create_task(self._web_server.serve())
|
||||
server_task.add_done_callback(self._handle_server_shutdown)
|
||||
self.servers["web"] = server_task
|
||||
|
||||
for server in self._additional_servers:
|
||||
addin_server = server["server"](
|
||||
data_service_observer=self._observer,
|
||||
@ -226,17 +238,6 @@ class Server:
|
||||
server_task = self._loop.create_task(addin_server.serve())
|
||||
server_task.add_done_callback(self._handle_server_shutdown)
|
||||
self.servers[server_name] = server_task
|
||||
self._web_server = WebServer(
|
||||
data_service_observer=self._observer,
|
||||
host=self._host,
|
||||
port=self._web_port,
|
||||
enable_frontend=self._enable_web,
|
||||
**self._kwargs,
|
||||
)
|
||||
server_task = self._loop.create_task(self._web_server.serve())
|
||||
|
||||
server_task.add_done_callback(self._handle_server_shutdown)
|
||||
self.servers["web"] = server_task
|
||||
|
||||
self._loop.create_task(self._state_manager.autosave())
|
||||
|
||||
|
@ -105,13 +105,11 @@ class WebServer:
|
||||
|
||||
self._service_config_dir = config_dir
|
||||
self._generate_web_settings = generate_web_settings
|
||||
self._loop: asyncio.AbstractEventLoop
|
||||
self._loop = asyncio.get_event_loop()
|
||||
self._sio = setup_sio_server(self.observer, self.enable_cors, self._loop)
|
||||
self._initialise_configuration()
|
||||
|
||||
async def serve(self) -> None:
|
||||
self._loop = asyncio.get_running_loop()
|
||||
self._sio = setup_sio_server(self.observer, self.enable_cors, self._loop)
|
||||
|
||||
async def index(
|
||||
request: aiohttp.web.Request,
|
||||
) -> aiohttp.web.Response | aiohttp.web.FileResponse:
|
||||
|
Reference in New Issue
Block a user