32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
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 监控服务已启动") |