diff --git a/example/general/src/application.py b/example/general/src/application.py index 8f9b44b7..0bfcc627 100644 --- a/example/general/src/application.py +++ b/example/general/src/application.py @@ -75,9 +75,3 @@ class Application(ApplicationABC): test_settings1 = Configuration.get(TestSettings) Console.write_line(test_settings1.value) # self.test_send_mail() - - x = 0 - while x < 500: - Console.write_line("Running...") - x += 1 - await asyncio.sleep(5) diff --git a/example/general/src/main.py b/example/general/src/main.py index 2168415b..8415ac2d 100644 --- a/example/general/src/main.py +++ b/example/general/src/main.py @@ -1,11 +1,13 @@ from application import Application from cpl.application import ApplicationBuilder +from cpl.core.console import Console from test_extension import TestExtension from startup import Startup from test_startup_extension import TestStartupExtension def main(): + Console.write_line("\n\n--- Application Starting ---\n") app_builder = ApplicationBuilder(Application) app_builder.with_startup(Startup) app_builder.with_extension(TestStartupExtension) diff --git a/src/application/cpl/application/abc/application_abc.py b/src/application/cpl/application/abc/application_abc.py index a90db406..f9e349b2 100644 --- a/src/application/cpl/application/abc/application_abc.py +++ b/src/application/cpl/application/abc/application_abc.py @@ -22,22 +22,6 @@ class ApplicationABC(ABC): Contains instances of prepared objects """ - @classmethod - def extend(cls, name: str | Callable, func: Callable[[Self], Self]): - r"""Extend the Application with a custom method - - Parameters: - name: :class:`str` - Name of the method - func: :class:`Callable[[Self], Self]` - Function that takes the Application as a parameter and returns it - """ - if callable(name): - name = name.__name__ - - setattr(cls, name, func) - return cls - @abstractmethod def __init__( self, services: ServiceProvider, loaded_modules: set[TModule], required_modules: list[str | object] = None diff --git a/src/application/cpl/application/host.py b/src/application/cpl/application/host.py index 0aeac147..e36f7967 100644 --- a/src/application/cpl/application/host.py +++ b/src/application/cpl/application/host.py @@ -4,7 +4,7 @@ from typing import Callable from cpl.core.property import classproperty from cpl.dependency.context import get_provider, use_root_provider from cpl.dependency.service_collection import ServiceCollection -from cpl.dependency.hosted.startup_task import StartupTask +from cpl.core.service.startup_task import StartupTask class Host: @@ -86,10 +86,9 @@ class Host: func(*args, **kwargs) except (KeyboardInterrupt, asyncio.CancelledError): pass - finally: - await cls._stop_all() cls.get_loop().run_until_complete(runner()) + cls.get_loop().run_until_complete(cls.wait_for_all()) @classmethod def run(cls, func: Callable, *args, **kwargs): diff --git a/src/core/cpl/core/service/cronjob.py b/src/core/cpl/core/service/cronjob.py index 84926f97..7946c614 100644 --- a/src/core/cpl/core/service/cronjob.py +++ b/src/core/cpl/core/service/cronjob.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from datetime import datetime from cpl.core.time.cron import Cron -from cpl.dependency.hosted import HostedService +from cpl.core.service import HostedService class CronjobABC(HostedService, ABC): diff --git a/src/database/cpl/database/service/migration_service.py b/src/database/cpl/database/service/migration_service.py index 631c903b..0f5b5916 100644 --- a/src/database/cpl/database/service/migration_service.py +++ b/src/database/cpl/database/service/migration_service.py @@ -7,7 +7,7 @@ from cpl.database.model.migration import Migration from cpl.database.model.server_type import ServerType, ServerTypes from cpl.database.schema.executed_migration import ExecutedMigration from cpl.database.schema.executed_migration_dao import ExecutedMigrationDao -from cpl.dependency.hosted import StartupTask +from cpl.core.service import StartupTask class MigrationService(StartupTask): diff --git a/src/database/cpl/database/service/seeder_service.py b/src/database/cpl/database/service/seeder_service.py index ddebd76d..94aa53db 100644 --- a/src/database/cpl/database/service/seeder_service.py +++ b/src/database/cpl/database/service/seeder_service.py @@ -1,7 +1,7 @@ from cpl.database.abc.data_seeder_abc import DataSeederABC from cpl.database.logger import DBLogger from cpl.dependency import ServiceProvider -from cpl.dependency.hosted import StartupTask +from cpl.core.service import StartupTask class SeederService(StartupTask): diff --git a/src/dependency/cpl/dependency/service_collection.py b/src/dependency/cpl/dependency/service_collection.py index 8747ed59..5707058b 100644 --- a/src/dependency/cpl/dependency/service_collection.py +++ b/src/dependency/cpl/dependency/service_collection.py @@ -5,7 +5,7 @@ from cpl.core.errors import module_dependency_error from cpl.core.log.logger_abc import LoggerABC from cpl.core.typing import T, Service from cpl.core.utils.cache import Cache -from cpl.dependency.hosted.startup_task import StartupTask +from cpl.core.service.startup_task import StartupTask from cpl.dependency.module.module import Module from cpl.dependency.service_descriptor import ServiceDescriptor from cpl.dependency.service_lifetime import ServiceLifetimeEnum diff --git a/src/dependency/cpl/dependency/typing.py b/src/dependency/cpl/dependency/typing.py index 032b02b5..6449db9a 100644 --- a/src/dependency/cpl/dependency/typing.py +++ b/src/dependency/cpl/dependency/typing.py @@ -2,7 +2,7 @@ from typing import Type from cpl.core.configuration import ConfigurationModelABC from cpl.core.typing import T -from cpl.dependency.hosted import StartupTask +from cpl.core.service import StartupTask from cpl.dependency.module.module import Module TModule = Type[Module]