first commit
This commit is contained in:
32
code/system/apps.py
Normal file
32
code/system/apps.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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 监控服务已启动")
|
||||
Reference in New Issue
Block a user