修改一期项目问题

This commit is contained in:
靳中伟 2025-10-15 15:29:47 +08:00
parent 1f0e46e987
commit eb86c4c0f9
150 changed files with 132627 additions and 132 deletions

Binary file not shown.

View File

@ -63,13 +63,13 @@ TASK_TYPE_AREA={
}
# 从环境变量读取配置,或使用默认值
# TF_API_BASE_URL = os.getenv("TF_API_BASE_URL", "http://192.168.189.80:8080/jeecg-boot")
TF_API_BASE_URL = os.getenv("TF_API_BASE_URL", "http://111.231.146.230:4080/jeecg-boot")
TF_API_BASE_URL = os.getenv("TF_API_BASE_URL", "http://192.168.189.206:8080/jeecg-boot")
TF_API_TIMEOUT = int(os.getenv("TF_API_TIMEOUT", "10")) # 减少超时时间从60秒到10秒
TF_API_RETRY_TIMES = int(os.getenv("TF_API_RETRY_TIMES", "3"))
TF_API_MOCK_MODE = False
TF_API_TOKEN_HEADER = os.getenv("TF_API_TOKEN_HEADER", "X-Access-Token") # token请求头名称
TF_API_TOKEN = os.getenv("TF_API_TOKEN", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NDk3NzY1MzEsInVzZXJuYW1lIjoiYWRtaW4ifQ.uRLHZuRQTrR2fHyA-dMzP46yXAa5wdjfdUcmr9PNY4g")
TF_WEB_POST = False # 是否过账
TF_WEB_POST = os.getenv("TF_WEB_POST", "false").lower() == "true" # 是否过账,从环境变量读取
sync_disabled_label = "sync_disabled" # 是否限制接口调用的变量名
# 外部接口叫料模板id
CM_ID = "571985c1-cfa5-4186-8acd-6e3868a5e08c"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

View File

@ -0,0 +1,176 @@
This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running your program. Python and
Python 3rd-party packages include a lot of conditional or optional modules. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.
Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported within a function
* optional: imported within a try-except-statement
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
tracking down the missing module yourself. Thanks!
missing module named pwd - imported by posixpath (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), getpass (delayed), http.server (delayed, optional), netrc (delayed, conditional), setuptools._distutils.util (delayed, conditional, optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional), psutil (optional)
missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional)
missing module named posix - imported by os (conditional, optional), posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named resource - imported by posix (top-level)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level)
missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional)
missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named _posixsubprocess - imported by subprocess (conditional), multiprocessing.util (delayed)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level), loguru._logger (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named termios - imported by getpass (optional), tty (top-level), click._termui_impl (conditional), werkzeug._reloader (delayed, optional), alembic.util.messaging (optional)
missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.current_process - imported by multiprocessing (top-level), loguru._logger (top-level)
missing module named multiprocessing.Pipe - imported by multiprocessing (top-level), uvicorn.supervisors.multiprocess (top-level)
missing module named multiprocessing.Value - imported by multiprocessing (top-level), werkzeug.debug (top-level)
missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
missing module named vms_lib - imported by platform (delayed, optional)
missing module named 'java.lang' - imported by platform (delayed, optional)
missing module named java - imported by platform (delayed)
missing module named _winreg - imported by platform (delayed, optional), pygments.formatters.img (optional)
missing module named usercustomize - imported by site (delayed, optional)
missing module named sitecustomize - imported by site (delayed, optional)
missing module named readline - imported by code (delayed, conditional, optional), site (delayed, optional), rlcompleter (optional), cmd (delayed, conditional, optional), pdb (delayed, optional), websockets.cli (delayed, optional)
missing module named _typeshed - imported by pydantic_core._pydantic_core (top-level), pydantic._internal._dataclasses (conditional), anyio.abc._eventloop (conditional), anyio._core._sockets (conditional), anyio._core._fileio (conditional), setuptools._distutils.dist (conditional), setuptools.glob (conditional), setuptools.compat.py311 (conditional), anyio._backends._asyncio (conditional), anyio._core._asyncio_selector_thread (conditional), anyio._backends._trio (conditional)
missing module named _manylinux - imported by packaging._manylinux (delayed, optional), setuptools._vendor.packaging._manylinux (delayed, optional), wheel.vendored.packaging._manylinux (delayed, optional)
missing module named trove_classifiers - imported by setuptools.config._validate_pyproject.formats (optional)
missing module named pyimod02_importers - imported by D:\Users\j2538\miniconda3\envs\pytf\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed)
missing module named fcntl - imported by subprocess (optional), pty (delayed, optional), alembic.util.messaging (optional)
missing module named simplejson - imported by requests.compat (conditional, optional)
missing module named dummy_threading - imported by requests.cookies (optional)
missing module named 'h2.events' - imported by urllib3.http2.connection (top-level)
missing module named 'h2.connection' - imported by urllib3.http2.connection (top-level)
missing module named h2 - imported by urllib3.http2.connection (top-level)
missing module named zstandard - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named brotli - imported by urllib3.util.request (optional), urllib3.response (optional), aiohttp.compression_utils (optional)
missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional), aiohttp.compression_utils (optional)
missing module named socks - imported by urllib3.contrib.socks (optional)
missing module named bcrypt - imported by cryptography.hazmat.primitives.serialization.ssh (optional)
missing module named 'OpenSSL.crypto' - imported by urllib3.contrib.pyopenssl (delayed, conditional)
missing module named cryptography.x509.UnsupportedExtension - imported by cryptography.x509 (optional), urllib3.contrib.pyopenssl (optional)
missing module named OpenSSL - imported by urllib3.contrib.pyopenssl (top-level), redis.connection (delayed, conditional)
missing module named chardet - imported by pygments.lexer (delayed, conditional, optional), requests (optional)
missing module named 'pyodide.ffi' - imported by urllib3.contrib.emscripten.fetch (delayed, optional)
missing module named pyodide - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named js - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named rpds.List - imported by rpds (top-level), referencing._core (top-level)
missing module named rpds.HashTrieSet - imported by rpds (top-level), referencing._core (top-level)
missing module named rpds.HashTrieMap - imported by rpds (top-level), referencing._core (top-level), jsonschema._types (top-level), jsonschema.validators (top-level)
missing module named annotationlib - imported by attr._compat (conditional)
missing module named isoduration - imported by jsonschema._format (top-level)
missing module named uri_template - imported by jsonschema._format (top-level)
missing module named jsonpointer - imported by jsonschema._format (top-level)
missing module named webcolors - imported by jsonschema._format (top-level)
missing module named rfc3339_validator - imported by jsonschema._format (top-level)
missing module named rfc3986_validator - imported by jsonschema._format (optional)
missing module named rfc3987 - imported by jsonschema._format (optional)
missing module named fqdn - imported by jsonschema._format (top-level)
missing module named '_typeshed.wsgi' - imported by werkzeug._internal (conditional), werkzeug.exceptions (conditional), werkzeug.http (conditional), werkzeug.wsgi (conditional), werkzeug.utils (conditional), werkzeug.wrappers.response (conditional), werkzeug.test (conditional), werkzeug.datastructures.headers (conditional), werkzeug.formparser (conditional), werkzeug.wrappers.request (conditional), werkzeug.serving (conditional), werkzeug.debug (conditional), werkzeug.middleware.shared_data (conditional), werkzeug.routing.exceptions (conditional), werkzeug.routing.map (conditional)
missing module named 'watchdog.observers' - imported by werkzeug._reloader (delayed)
missing module named 'watchdog.events' - imported by werkzeug._reloader (delayed)
missing module named watchdog - imported by werkzeug._reloader (delayed)
missing module named 'python_socks.sync' - imported by websockets.sync.client (optional)
missing module named python_socks - imported by websockets.asyncio.client (optional), websockets.sync.client (optional)
missing module named 'python_socks.async_' - imported by websockets.asyncio.client (optional)
missing module named uvloop - imported by aiohttp.worker (delayed), uvicorn.loops.auto (delayed, optional), uvicorn.loops.uvloop (top-level), anyio._backends._asyncio (delayed, conditional)
missing module named 'gunicorn.workers' - imported by aiohttp.worker (top-level), uvicorn.workers (top-level)
missing module named gunicorn - imported by aiohttp.worker (top-level)
missing module named aiodns - imported by aiohttp.resolver (optional)
missing module named hiredis - imported by redis.utils (optional), redis.connection (conditional), redis._parsers.hiredis (delayed)
missing module named six.moves.range - imported by six.moves (top-level), dateutil.rrule (top-level)
runtime module named six.moves - imported by dateutil.tz.tz (top-level), dateutil.tz._factories (top-level), dateutil.tz.win (top-level), dateutil.rrule (top-level)
missing module named StringIO - imported by Crypto.Util.py3compat (conditional), six (conditional)
missing module named dateutil.tz.tzfile - imported by dateutil.tz (top-level), dateutil.zoneinfo (top-level)
missing module named sets - imported by pytz.tzinfo (optional)
missing module named collections.Mapping - imported by collections (optional), pytz.lazy (optional)
missing module named UserDict - imported by pytz.lazy (optional)
missing module named aiocontextvars - imported by loguru._contextvars (delayed, conditional)
missing module named exceptiongroup - imported by anyio._core._exceptions (conditional), anyio._core._sockets (conditional), starlette._utils (conditional, optional), loguru._better_exceptions (conditional, optional), anyio._backends._asyncio (conditional), anyio._backends._trio (conditional)
missing module named IPython - imported by rich.jupyter (delayed, optional), loguru._colorama (delayed, conditional, optional)
missing module named ipykernel - imported by loguru._colorama (delayed, conditional, optional)
missing module named 'backports.zoneinfo' - imported by alembic.script.base (conditional, optional)
missing module named pygments.lexers.PrologLexer - imported by pygments.lexers (top-level), pygments.lexers.cplint (top-level)
missing module named ctags - imported by pygments.formatters.html (optional)
excluded module named PIL - imported by pygments.formatters.img (optional)
missing module named psycopg2 - imported by sqlalchemy.dialects.postgresql.psycopg2 (delayed), sqlalchemy (top-level)
missing module named 'psycopg.pq' - imported by sqlalchemy.dialects.postgresql.psycopg (delayed)
missing module named 'psycopg.types' - imported by sqlalchemy.dialects.postgresql.psycopg (delayed, conditional)
missing module named 'psycopg.adapt' - imported by sqlalchemy.dialects.postgresql.psycopg (delayed, conditional)
missing module named psycopg - imported by sqlalchemy.dialects.postgresql.psycopg (delayed, conditional)
missing module named oracledb - imported by sqlalchemy.dialects.oracle.oracledb (delayed, conditional)
missing module named cx_Oracle - imported by sqlalchemy.dialects.oracle.cx_oracle (delayed)
missing module named 'mysql.connector' - imported by sqlalchemy.dialects.mysql.mysqlconnector (delayed, conditional, optional)
missing module named mysql - imported by sqlalchemy.dialects.mysql.mysqlconnector (delayed)
missing module named asyncmy - imported by sqlalchemy.dialects.mysql.asyncmy (delayed)
missing module named pysqlcipher3 - imported by sqlalchemy.dialects.sqlite.pysqlcipher (delayed)
missing module named sqlcipher3 - imported by sqlalchemy.dialects.sqlite.pysqlcipher (delayed, optional)
missing module named nacl - imported by pymysql._auth (delayed, optional)
missing module named cython - imported by pydantic.v1.version (optional)
missing module named email_validator - imported by pydantic.networks (delayed, conditional, optional), pydantic.v1.networks (delayed, conditional, optional), fastapi.openapi.models (optional), pydantic.v1._hypothesis_plugin (optional)
missing module named 'IPython.core' - imported by rich.pretty (delayed, optional), dotenv.ipython (top-level)
missing module named toml - imported by pydantic.v1.mypy (delayed, conditional, optional)
missing module named 'mypy.version' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.util' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.typevars' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.types' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.server' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.semanal' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.plugins' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.plugin' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.options' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.nodes' - imported by pydantic.mypy (top-level), pydantic.v1.mypy (top-level)
missing module named 'mypy.errorcodes' - imported by pydantic.v1.mypy (top-level)
missing module named hypothesis - imported by pydantic.v1._hypothesis_plugin (top-level)
missing module named 'mypy.typeops' - imported by pydantic.mypy (top-level)
missing module named 'mypy.state' - imported by pydantic.mypy (top-level)
missing module named 'mypy.expandtype' - imported by pydantic.mypy (top-level)
missing module named mypy - imported by pydantic.mypy (top-level)
missing module named eval_type_backport - imported by pydantic._internal._typing_extra (delayed, optional)
missing module named ipywidgets - imported by rich.live (delayed, conditional, optional)
missing module named 'IPython.display' - imported by rich.live (delayed, conditional, optional)
missing module named linkify_it - imported by markdown_it.main (optional)
missing module named pydantic.PydanticUserError - imported by pydantic (top-level), pydantic.root_model (top-level)
missing module named pydantic.PydanticSchemaGenerationError - imported by pydantic (delayed), pydantic.functional_validators (delayed, conditional), fastapi._compat (conditional)
missing module named pydantic.BaseModel - imported by pydantic (conditional), pydantic._internal._typing_extra (conditional), pydantic._internal._import_utils (delayed, conditional), pydantic.deprecated.copy_internals (delayed, conditional), fastapi.exceptions (top-level), fastapi.types (top-level), fastapi._compat (top-level), fastapi.openapi.models (top-level), fastapi.security.http (top-level), fastapi.utils (top-level), fastapi.dependencies.utils (top-level), fastapi.encoders (top-level), fastapi.routing (top-level), pydantic_settings.sources (top-level), services.sync_service (top-level), routes.database (top-level), routes.model.task_edit_model (top-level), routes.model.base (top-level), routes.model.operate_point_model (top-level), routes.model.task_model (top-level), routes.model.script_model (top-level), routes.model.calldevice_model (top-level), routes.model.modbus_config_model (top-level), routes.model.map_model (top-level), routes.model.external_task_model (top-level)
missing module named curio - imported by sniffio._impl (delayed, conditional)
missing module named 'trio.testing' - imported by anyio._backends._trio (delayed)
missing module named 'trio.to_thread' - imported by anyio._backends._trio (top-level)
missing module named 'trio.socket' - imported by anyio._backends._trio (top-level)
missing module named outcome - imported by anyio._backends._trio (top-level)
missing module named 'trio.lowlevel' - imported by anyio._backends._trio (top-level)
missing module named trio - imported by anyio._backends._trio (top-level)
missing module named orjson - imported by fastapi.responses (optional)
missing module named ujson - imported by fastapi.responses (optional)
missing module named httptools - imported by uvicorn.protocols.http.httptools_impl (top-level), uvicorn.protocols.http.auto (optional)
missing module named a2wsgi - imported by uvicorn.middleware.wsgi (optional)
missing module named win32evtlog - imported by logging.handlers (delayed, optional)
missing module named win32evtlogutil - imported by logging.handlers (delayed, optional)
missing module named 'wsproto.utilities' - imported by uvicorn.protocols.websockets.wsproto_impl (top-level)
missing module named 'wsproto.extensions' - imported by uvicorn.protocols.websockets.wsproto_impl (top-level)
missing module named 'wsproto.connection' - imported by uvicorn.protocols.websockets.wsproto_impl (top-level)
missing module named wsproto - imported by uvicorn.protocols.websockets.wsproto_impl (top-level), uvicorn.protocols.websockets.auto (optional)
missing module named collections.Callable - imported by collections (optional), cffi.api (optional)
missing module named 'gunicorn.arbiter' - imported by uvicorn.workers (top-level)
missing module named watchfiles - imported by uvicorn.supervisors.watchfilesreload (top-level)
missing module named 'azure.keyvault' - imported by pydantic_settings.sources (delayed, optional)
missing module named 'azure.core' - imported by pydantic_settings.sources (delayed, optional)
missing module named azure - imported by pydantic_settings.sources (delayed, optional)
missing module named serial - imported by pymodbus.transport.serialtransport (top-level), pymodbus.client.serial (top-level)
missing module named 'setuptools._distutils.msvc9compiler' - imported by cffi._shimmed_dist_utils (conditional, optional)
missing module named _dummy_thread - imported by cffi.lock (conditional, optional)
missing module named dummy_thread - imported by cffi.lock (conditional, optional)
missing module named thread - imported by cffi.lock (conditional, optional), cffi.cparser (conditional, optional)
missing module named cStringIO - imported by cffi.ffiplatform (optional)
missing module named cPickle - imported by pycparser.ply.yacc (delayed, optional)
missing module named cffi._pycparser - imported by cffi (optional), cffi.cparser (optional)
missing module named imp - imported by Crypto.Util._raw_api (conditional), cffi.verifier (conditional), cffi._imp_emulation (optional)

File diff suppressed because it is too large Load Diff

View File

@ -43,6 +43,12 @@ def load_startup_config():
api_config = config['api']
if 'tf_api_base_url' in api_config:
os.environ['TF_API_BASE_URL'] = api_config['tf_api_base_url']
if 'tf_web_post' in api_config:
os.environ['TF_WEB_POST'] = api_config['tf_web_post']
if 'cm_id' in api_config:
os.environ['CM_ID'] = api_config['cm_id']
if 'dg_id' in api_config:
os.environ['DG_ID'] = api_config['dg_id']
print(f"配置已从 {config_file} 加载")
return True
@ -74,13 +80,21 @@ def ensure_config_exists():
'host': 'localhost'
}
# 默认API配置
config['api'] = {
'tf_api_base_url': 'http://111.231.146.230:4080/jeecg-boot'
}
# 创建配置内容,包含注释
config_content = """[database]
username = root
password = root
host = localhost
[api]
tf_api_base_url = http://111.231.146.230:4080/jeecg-boot
tf_web_post = false
cm_id = 571985c1-cfa5-4186-8acd-6e3868a5e08c
dg_id = e22cacb4-a580-45ba-949e-356f57fa1a43
"""
with open(str(config_file), 'w', encoding='utf-8') as f:
config.write(f)
f.write(config_content)
print(f"已创建默认配置文件: {config_file}")

BIN
packaging/dist/VWED_Task_Release.zip vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
VWED任务系统集成版使用说明
==========================
本版本将配置界面和服务启动合并为单个可执行文件,支持前台和后台运行。
前台运行(带界面):
1. 双击 "启动VWED任务系统.bat"
2. 首次启动会显示配置界面
3. 配置数据库连接和API地址
4. 点击"测试数据库连接"确保连接正常
5. 点击"完成配置并启动服务"
6. 配置界面自动关闭,服务在当前窗口启动
7. 在浏览器中访问 http://localhost:8000
后台运行(无界面):
1. 双击 "后台启动服务.bat"
2. 服务将在后台运行,不显示任何窗口
3. 使用 "检查服务状态.bat" 查看运行状态
4. 使用 "停止服务.bat" 停止后台服务
5. 服务日志保存在 vwed_service.log 文件中
注意事项:
- 配置保存在同目录下的 config.ini 文件中
- 再次启动时会自动加载已保存的配置
- 如需修改配置,删除 config.ini 后重新启动
- 后台运行模式下,请通过日志文件查看运行状态
- PID文件 vwed_service.pid 用于跟踪后台进程
调试版本:
- VWED_Task_System_Debug.exe 为调试版本,保留控制台窗口
- 遇到问题时可使用调试版本查看详细信息

View File

@ -0,0 +1,24 @@
@echo off
chcp 65001 >nul
echo 正在停止VWED任务系统服务...
cd /d "%~dp0"
if exist vwed_service.pid (
set /p pid=<vwed_service.pid
taskkill /pid %pid% /f 2>nul
if !errorlevel!==0 (
echo 服务已停止 (PID: %pid%)
) else (
echo 未找到进程,尝试按进程名停止...
taskkill /f /im VWED_Task_System.exe 2>nul
)
del vwed_service.pid 2>nul
) else (
echo 未找到PID文件尝试按进程名停止...
taskkill /f /im VWED_Task_System.exe 2>nul
if %errorlevel%==0 (
echo 服务已停止
) else (
echo 没有找到运行中的服务进程
)
)
pause

View File

@ -0,0 +1,16 @@
@echo off
chcp 65001 >nul
echo 正在后台启动VWED任务系统服务...
echo 服务将在后台运行,不显示窗口
cd /d "%~dp0"
if exist vwed_service.pid (
echo 检测到服务可能已在运行,请先停止服务
echo 如果服务未运行,请手动删除 vwed_service.pid 文件
pause
exit /b 1
)
start /min VWED_Task_System.exe --headless
echo 服务已在后台启动
echo 日志文件: vwed_service.log
echo 使用"停止服务.bat"可停止后台服务
pause

View File

@ -0,0 +1,13 @@
@echo off
chcp 65001 >nul
echo 正在启动VWED任务系统...
echo 首次启动将显示配置界面,配置完成后自动启动服务
echo.
cd /d "%~dp0"
if exist VWED_Task_System_Debug.exe (
echo 使用调试版本启动以便查看详细信息...
VWED_Task_System_Debug.exe
) else (
VWED_Task_System.exe
)
pause

View File

@ -0,0 +1,24 @@
@echo off
chcp 65001 >nul
echo 检查VWED任务系统服务状态...
cd /d "%~dp0"
if exist vwed_service.pid (
set /p pid=<vwed_service.pid
tasklist /fi "PID eq %pid%" 2>nul | find "%pid%" >nul
if !errorlevel!==0 (
echo 服务正在运行 (PID: %pid%)
echo 服务地址: http://localhost:8000
) else (
echo 服务进程不存在清理PID文件...
del vwed_service.pid
echo 服务未运行
)
) else (
echo 服务未运行
)
if exist vwed_service.log (
echo.
echo 最近的日志内容:
powershell "Get-Content vwed_service.log -Tail 10"
)
pause

BIN
packaging/dist/VWED_Task_System.exe vendored Normal file

Binary file not shown.

Binary file not shown.

7
packaging/logs/app.log Normal file
View File

@ -0,0 +1,7 @@
2025-10-13 15:27:26,675 - services.enhanced_scheduler.task_scheduler - INFO - 加载任务调度器配置: 工作线程数=100-150, 队列数=3, 任务超时=3600秒
2025-10-13 15:27:26,675 - services.enhanced_scheduler.priority_queue_manager - INFO - 初始化优先级队列管理器: 队列数=3, 阈值百分比=[0.1, 0.3, 1.0], 工作线程比例=[0.6, 0.3, 0.1]
2025-10-13 15:27:26,675 - services.enhanced_scheduler.worker_manager - INFO - 初始化工作线程管理器: min=100, max=150, 心跳间隔=1200秒, 自动扩缩容间隔=120秒
2025-10-13 15:27:26,676 - services.enhanced_scheduler.task_persistence - INFO - 初始化任务持久化管理器: 间隔=300秒, 目录=D:\jsw_code\project\VWED_phase1\VWED_server\data\task_backups, 最大备份数=5
2025-10-13 15:27:26,676 - services.enhanced_scheduler.periodic_task_manager - INFO - 初始化定时任务管理器: 检查间隔=5秒
2025-10-13 15:27:26,676 - services.enhanced_scheduler.task_scheduler - INFO - 增强版任务调度器初始化完成
2025-10-13 15:27:26,736 - utils.component_manager - INFO - 已加载 8 个组件分类,共 52 个组件类型

View File

@ -8,9 +8,9 @@ WebSocket API模块
import json
import asyncio
from typing import Dict, List, Any, Optional, Set
from typing import Dict, Any, Optional, Set
from fastapi import APIRouter, WebSocket, WebSocketDisconnect, Path, Query
from datetime import datetime, timedelta
from datetime import datetime
from services.task_record_service import TaskRecordService
from services.operate_point_service import OperatePointService

Some files were not shown because too many files have changed in this diff Show More