Files

32 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-07-13 15:37:05 +08:00
from django.apps import AppConfig
import logging
from .management.commands.vdes_monitor import VDESSocketMonitor
class SystemConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'system'
def ready(self):
# 确保只在主进程中启动(避免在开发服务器中启动两次)
if not self._is_runserver_with_reload():
self.start_vdes_monitor()
from .models import MessageFlag
try:
# 确保表创建完成后检查是否存在记录
if not MessageFlag.objects.exists():
MessageFlag.objects.create(has_new_message=False)
print("初始化 MessageFlag: 已创建默认记录")
except:
print("初始化 MessageFlag 失败")
def _is_runserver_with_reload(self):
"""检查是否在开发服务器的重载进程中"""
import sys
return 'runserver' in sys.argv and '--noreload' not in sys.argv
def start_vdes_monitor(self):
"""启动 VDES 监控服务"""
monitor = VDESSocketMonitor()
monitor.start()
logger = logging.getLogger(__name__)
logger.info("VDES 监控服务已启动")