Compare commits

...

2 Commits

Author SHA1 Message Date
53771e53f5 + Some thread debugging 2024-08-02 16:21:26 +04:00
7571373443 Trying to fix thread leak: maybe some async will help? 2024-08-02 16:20:18 +04:00
12 changed files with 31 additions and 12 deletions

View File

@ -1,13 +1,32 @@
from chain_service.logging import setup_logging import logging
import threading
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from chain_service.logging import setup_logging
from chain_service.controllers.__main__ import setup_controllers from chain_service.controllers.__main__ import setup_controllers
setup_logging() setup_logging()
application = FastAPI() application = FastAPI()
logging.basicConfig(level=logging.DEBUG)
# Subclass threading.Thread for logging
class DebugThread(threading.Thread):
def __init__(self, *args, **kwargs):
logging.debug(f"Creating thread {args} {kwargs}")
super().__init__(*args, **kwargs)
def _delete(self):
logging.debug(f"Deleting thread {self.name}")
super()._delete()
threading.Thread = DebugThread
application.add_middleware( application.add_middleware(
CORSMiddleware, CORSMiddleware,
allow_origins=["http://localhost:5173"], allow_origins=["http://localhost:5173"],

View File

@ -4,7 +4,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_audio_converter_service() -> AudioConverterService: async def get_audio_converter_service() -> AudioConverterService:
return AudioConverterService() return AudioConverterService()

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_chain_repository(database: DatabaseDependency) -> ChainRepository: async def get_chain_repository(database: DatabaseDependency) -> ChainRepository:
return ChainRepository(database=database) return ChainRepository(database=database)

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_database() -> Database: async def get_database() -> Database:
settings = Settings() settings = Settings()
return Database( return Database(

View File

@ -8,7 +8,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_file_uploader_service( async def get_file_uploader_service(
planfix_client: PlanfixClientDependency, planfix_client: PlanfixClientDependency,
uploaded_file_repository: UploadedFileRepositoryDependency, uploaded_file_repository: UploadedFileRepositoryDependency,
audio_converter_service: AudioConverterServiceDependency, audio_converter_service: AudioConverterServiceDependency,

View File

@ -6,7 +6,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_namespace_repository(database: DatabaseDependency) -> NamespaceRepository: async def get_namespace_repository(database: DatabaseDependency) -> NamespaceRepository:
return NamespaceRepository(database=database) return NamespaceRepository(database=database)

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_planfix_client() -> PlanfixClient: async def get_planfix_client() -> PlanfixClient:
settings = Settings() settings = Settings()
return PlanfixClient( return PlanfixClient(

View File

@ -9,7 +9,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_progress_action_service_factory( async def get_progress_action_service_factory(
planfix_client: PlanfixClientDependency, planfix_client: PlanfixClientDependency,
uploaded_file_repository: UploadedFileRepositoryDependency, uploaded_file_repository: UploadedFileRepositoryDependency,
) -> ProgressActionServiceFactory: ) -> ProgressActionServiceFactory:

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_progress_chain_repository( async def get_progress_chain_repository(
database: DatabaseDependency, database: DatabaseDependency,
) -> ProgressChainRepository: ) -> ProgressChainRepository:
return ProgressChainRepository(database=database) return ProgressChainRepository(database=database)

View File

@ -9,7 +9,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_progress_chain_runner_service( async def get_progress_chain_runner_service(
progress_chain_repository: ProgressChainRepositoryDependency, progress_chain_repository: ProgressChainRepositoryDependency,
progress_action_service_factory: ProgressActionServiceFactoryDependency, progress_action_service_factory: ProgressActionServiceFactoryDependency,
running_chain_repository: RunningChainRepositoryDependency, running_chain_repository: RunningChainRepositoryDependency,

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_running_chain_repository( async def get_running_chain_repository(
database: DatabaseDependency, database: DatabaseDependency,
) -> RunningChainRepository: ) -> RunningChainRepository:
return RunningChainRepository(database=database) return RunningChainRepository(database=database)

View File

@ -5,7 +5,7 @@ from fastapi import Depends
from typing import Annotated from typing import Annotated
def get_uploaded_file_repository( async def get_uploaded_file_repository(
database: DatabaseDependency, database: DatabaseDependency,
) -> UploadedFileRepository: ) -> UploadedFileRepository:
return UploadedFileRepository(database=database) return UploadedFileRepository(database=database)