Moved hosted service base
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 10s
Build on push / prepare (push) Successful in 13s
Build on push / query (push) Successful in 24s
Build on push / core (push) Successful in 25s
Build on push / dependency (push) Successful in 18s
Build on push / cli (push) Successful in 24s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / database (push) Successful in 23s
Build on push / translation (push) Successful in 26s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 22s

This commit is contained in:
2025-10-22 11:40:25 +02:00
parent dfbb0a8c1f
commit cc76227199
9 changed files with 9 additions and 30 deletions

View File

@@ -75,9 +75,3 @@ class Application(ApplicationABC):
test_settings1 = Configuration.get(TestSettings) test_settings1 = Configuration.get(TestSettings)
Console.write_line(test_settings1.value) Console.write_line(test_settings1.value)
# self.test_send_mail() # self.test_send_mail()
x = 0
while x < 500:
Console.write_line("Running...")
x += 1
await asyncio.sleep(5)

View File

@@ -1,11 +1,13 @@
from application import Application from application import Application
from cpl.application import ApplicationBuilder from cpl.application import ApplicationBuilder
from cpl.core.console import Console
from test_extension import TestExtension from test_extension import TestExtension
from startup import Startup from startup import Startup
from test_startup_extension import TestStartupExtension from test_startup_extension import TestStartupExtension
def main(): def main():
Console.write_line("\n\n--- Application Starting ---\n")
app_builder = ApplicationBuilder(Application) app_builder = ApplicationBuilder(Application)
app_builder.with_startup(Startup) app_builder.with_startup(Startup)
app_builder.with_extension(TestStartupExtension) app_builder.with_extension(TestStartupExtension)

View File

@@ -22,22 +22,6 @@ class ApplicationABC(ABC):
Contains instances of prepared objects 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 @abstractmethod
def __init__( def __init__(
self, services: ServiceProvider, loaded_modules: set[TModule], required_modules: list[str | object] = None self, services: ServiceProvider, loaded_modules: set[TModule], required_modules: list[str | object] = None

View File

@@ -4,7 +4,7 @@ from typing import Callable
from cpl.core.property import classproperty from cpl.core.property import classproperty
from cpl.dependency.context import get_provider, use_root_provider from cpl.dependency.context import get_provider, use_root_provider
from cpl.dependency.service_collection import ServiceCollection 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: class Host:
@@ -86,10 +86,9 @@ class Host:
func(*args, **kwargs) func(*args, **kwargs)
except (KeyboardInterrupt, asyncio.CancelledError): except (KeyboardInterrupt, asyncio.CancelledError):
pass pass
finally:
await cls._stop_all()
cls.get_loop().run_until_complete(runner()) cls.get_loop().run_until_complete(runner())
cls.get_loop().run_until_complete(cls.wait_for_all())
@classmethod @classmethod
def run(cls, func: Callable, *args, **kwargs): def run(cls, func: Callable, *args, **kwargs):

View File

@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
from datetime import datetime from datetime import datetime
from cpl.core.time.cron import Cron from cpl.core.time.cron import Cron
from cpl.dependency.hosted import HostedService from cpl.core.service import HostedService
class CronjobABC(HostedService, ABC): class CronjobABC(HostedService, ABC):

View File

@@ -7,7 +7,7 @@ from cpl.database.model.migration import Migration
from cpl.database.model.server_type import ServerType, ServerTypes from cpl.database.model.server_type import ServerType, ServerTypes
from cpl.database.schema.executed_migration import ExecutedMigration from cpl.database.schema.executed_migration import ExecutedMigration
from cpl.database.schema.executed_migration_dao import ExecutedMigrationDao from cpl.database.schema.executed_migration_dao import ExecutedMigrationDao
from cpl.dependency.hosted import StartupTask from cpl.core.service import StartupTask
class MigrationService(StartupTask): class MigrationService(StartupTask):

View File

@@ -1,7 +1,7 @@
from cpl.database.abc.data_seeder_abc import DataSeederABC from cpl.database.abc.data_seeder_abc import DataSeederABC
from cpl.database.logger import DBLogger from cpl.database.logger import DBLogger
from cpl.dependency import ServiceProvider from cpl.dependency import ServiceProvider
from cpl.dependency.hosted import StartupTask from cpl.core.service import StartupTask
class SeederService(StartupTask): class SeederService(StartupTask):

View File

@@ -5,7 +5,7 @@ from cpl.core.errors import module_dependency_error
from cpl.core.log.logger_abc import LoggerABC from cpl.core.log.logger_abc import LoggerABC
from cpl.core.typing import T, Service from cpl.core.typing import T, Service
from cpl.core.utils.cache import Cache 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.module.module import Module
from cpl.dependency.service_descriptor import ServiceDescriptor from cpl.dependency.service_descriptor import ServiceDescriptor
from cpl.dependency.service_lifetime import ServiceLifetimeEnum from cpl.dependency.service_lifetime import ServiceLifetimeEnum

View File

@@ -2,7 +2,7 @@ from typing import Type
from cpl.core.configuration import ConfigurationModelABC from cpl.core.configuration import ConfigurationModelABC
from cpl.core.typing import T 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 from cpl.dependency.module.module import Module
TModule = Type[Module] TModule = Type[Module]