mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 13:12:24 +00:00
Refactor the backend architecture (#299)
* define the basic architecture * Update script and deployment file locations * Update the route registration * Fix CI download dependencies * Updated ruff to 0.3.3 * Update app subdirectory naming * Update the model import * fix pre-commit pdm lock * Update the service directory naming * Add CRUD method documents * Fix the issue of circular import * Update the README document * Update the SQL statement for create tables * Update docker scripts and documentation * Fix docker scripts * Update the backend README.md * Add the security folder and move the redis client * Update the configuration item * Fix environment configuration reads * Update the default configuration * Updated README description * Updated the user registration API * Fix test cases * Update the celery configuration * Update and fix celery configuration * Updated the celery structure * Update celery tasks and api * Add celery flower * Update the import style * Update contributors
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
|
||||
from backend.app.admin.service.login_log_service import login_log_service
|
||||
from backend.app.admin.service.opera_log_service import opera_log_service
|
||||
from backend.app.task.celery import celery_app
|
||||
from backend.app.task.conf import task_settings
|
||||
|
||||
|
||||
@celery_app.task(
|
||||
name='auto_delete_db_opera_log',
|
||||
bind=True,
|
||||
retry_backoff=True,
|
||||
max_retries=task_settings.CELERY_TASK_MAX_RETRIES,
|
||||
)
|
||||
async def auto_delete_db_opera_log(self) -> int:
|
||||
"""自动删除数据库操作日志"""
|
||||
try:
|
||||
result = await opera_log_service.delete_all()
|
||||
except SQLAlchemyError as exc:
|
||||
raise self.retry(exc=exc)
|
||||
return result
|
||||
|
||||
|
||||
@celery_app.task(
|
||||
name='auto_delete_db_login_log',
|
||||
bind=True,
|
||||
retry_backoff=True,
|
||||
max_retries=task_settings.CELERY_TASK_MAX_RETRIES,
|
||||
)
|
||||
async def auto_delete_db_login_log(self) -> int:
|
||||
"""自动删除数据库登录日志"""
|
||||
|
||||
try:
|
||||
result = await login_log_service.delete_all()
|
||||
except SQLAlchemyError as exc:
|
||||
raise self.retry(exc=exc)
|
||||
return result
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import uuid
|
||||
|
||||
from backend.app.task.celery import celery_app
|
||||
|
||||
|
||||
@celery_app.task(name='task_demo_async')
|
||||
def task_demo_async() -> str:
|
||||
uid = uuid.uuid4().hex
|
||||
print(f'异步任务 {uid} 执行成功')
|
||||
return uid
|
||||
Reference in New Issue
Block a user