Explorar el Código

Move web_server to its own process that can be started by a rye script

jherve hace 1 año
padre
commit
35d1c950fb
Se han modificado 2 ficheros con 3 adiciones y 15 borrados
  1. 2 0
      pyproject.toml
  2. 1 15
      src/de_quoi_parle_le_monde/main.py

+ 2 - 0
pyproject.toml

@@ -44,3 +44,5 @@ allow-direct-references = true
 [tool.hatch.build.targets.wheel]
 packages = ["src/de_quoi_parle_le_monde"]
 
+[tool.rye.scripts]
+web_server = {cmd = "hypercorn de_quoi_parle_le_monde.web:app"}

+ 1 - 15
src/de_quoi_parle_le_monde/main.py

@@ -1,12 +1,8 @@
 import asyncio
-from hypercorn.typing import Framework
 from loguru import logger
-from hypercorn.config import Config
-from hypercorn.asyncio import serve
 from attrs import frozen
 
 
-from de_quoi_parle_le_monde.web import app
 from de_quoi_parle_le_monde.http import HttpClient
 from de_quoi_parle_le_monde.storage import Storage
 from de_quoi_parle_le_monde.workers.snapshot import SnapshotJob, SnapshotWorker
@@ -21,24 +17,16 @@ from de_quoi_parle_le_monde.similarity_search import SimilaritySearch
 class Application:
     http_client: HttpClient
     storage: Storage
-    web_app: Framework
-    web_config: Config
     similarity_index: SimilaritySearch
 
     async def run(self):
         await asyncio.gather(
-            self._run_web_server(),
             self._run_snapshot_worker(),
             self._run_similarity_index(),
             self._run_embeddings_worker(),
         )
         logger.info("Will quit now..")
 
-    async def _run_web_server(self):
-        logger.info("Starting web server..")
-        await serve(self.web_app, self.web_config)
-        logger.info("Web server exiting")
-
     async def _run_snapshot_worker(self):
         logger.info("Starting snapshot service..")
         jobs = SnapshotJob.create(10, [8, 12, 18, 22])
@@ -75,11 +63,9 @@ class Application:
     async def create():
         http_client = HttpClient()
         storage = await Storage.create()
-        web_app = app
-        web_config = Config()
         sim_index = SimilaritySearch.create(storage)
 
-        return Application(http_client, storage, web_app, web_config, sim_index)
+        return Application(http_client, storage, sim_index)
 
 
 async def main():