1
0
forked from erp-dev/erp

feat: big version, added tasks for backup_database and stock change, added health check api, approve sse (support channel via merchant)

This commit is contained in:
2025-11-26 21:49:42 +08:00
parent 6bf0465d05
commit a9c75a13fa
26 changed files with 7158 additions and 216 deletions

42
api_v1/views/healthy.py Normal file
View File

@@ -0,0 +1,42 @@
import platform
from typing import Dict
from django.db import connections, DatabaseError
from django.utils import timezone
from django.utils.version import get_version
from rest_framework.response import Response
from rest_framework.views import APIView
class HealthCheckView(APIView):
"""
简单健康检查接口,返回当前服务的基础指标信息,包括:
- 应用版本
- Python/Django 版本
- 服务器时间
- 数据库连接状态
"""
authentication_classes: list = []
permission_classes: list = []
def get(self, request):
db_status: Dict[str, str] = {}
for alias in connections:
try:
connections[alias].cursor()
db_status[alias] = 'ok'
except DatabaseError as exc:
db_status[alias] = f'error: {exc.__class__.__name__}'
payload = {
'service': 'flower-api',
'status': 'ok' if all(status == 'ok' for status in db_status.values()) else 'degraded',
'server_time': timezone.now().isoformat(),
'python_version': platform.python_version(),
'django_version': get_version(),
'platform': platform.platform(),
'databases': db_status,
}
return Response(payload)