Compare commits
1 Commits
2025.10.22
...
mail_queue
| Author | SHA1 | Date | |
|---|---|---|---|
| 761f4f2103 |
@@ -3,7 +3,8 @@
|
||||
"projects": [
|
||||
"src/cli/cpl.project.json",
|
||||
"src/core/cpl.project.json",
|
||||
"src/mail/cpl.project.json"
|
||||
"src/mail/cpl.project.json",
|
||||
"src/mail-queue/cpl.project.json"
|
||||
],
|
||||
"defaultProject": "cpl-cli",
|
||||
"scripts": {
|
||||
|
||||
@@ -75,3 +75,9 @@ 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)
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
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)
|
||||
|
||||
@@ -22,6 +22,22 @@ 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
|
||||
|
||||
@@ -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.core.service.startup_task import StartupTask
|
||||
from cpl.dependency.hosted.startup_task import StartupTask
|
||||
|
||||
|
||||
class Host:
|
||||
@@ -86,9 +86,10 @@ 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):
|
||||
|
||||
@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
|
||||
from datetime import datetime
|
||||
|
||||
from cpl.core.time.cron import Cron
|
||||
from cpl.core.service import HostedService
|
||||
from cpl.dependency.hosted import HostedService
|
||||
|
||||
|
||||
class CronjobABC(HostedService, ABC):
|
||||
|
||||
@@ -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.core.service import StartupTask
|
||||
from cpl.dependency.hosted import StartupTask
|
||||
|
||||
|
||||
class MigrationService(StartupTask):
|
||||
|
||||
@@ -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.core.service import StartupTask
|
||||
from cpl.dependency.hosted import StartupTask
|
||||
|
||||
|
||||
class SeederService(StartupTask):
|
||||
|
||||
@@ -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.core.service.startup_task import StartupTask
|
||||
from cpl.dependency.hosted.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
|
||||
|
||||
@@ -2,7 +2,7 @@ from typing import Type
|
||||
|
||||
from cpl.core.configuration import ConfigurationModelABC
|
||||
from cpl.core.typing import T
|
||||
from cpl.core.service import StartupTask
|
||||
from cpl.dependency.hosted import StartupTask
|
||||
from cpl.dependency.module.module import Module
|
||||
|
||||
TModule = Type[Module]
|
||||
|
||||
3
src/mail-queue/class.py
Normal file
3
src/mail-queue/class.py
Normal file
@@ -0,0 +1,3 @@
|
||||
class Class1:
|
||||
|
||||
def __init__(self): ...
|
||||
24
src/mail-queue/cpl.project.json
Normal file
24
src/mail-queue/cpl.project.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "mail-queue",
|
||||
"version": "0.1.0",
|
||||
"type": "library",
|
||||
"license": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"homepage": "",
|
||||
"keywords": [],
|
||||
"dependencies": {
|
||||
"cpl-core": "~2024.7.0",
|
||||
"cpl-mail": "~2024.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"cpl-cli": ">2024.7.0"
|
||||
},
|
||||
"references": [],
|
||||
"main": null,
|
||||
"directory": "./",
|
||||
"build": {
|
||||
"include": [],
|
||||
"exclude": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user