Fix headless mode: use sleep loop instead of CLI mode (prevent EOF exit)
- Headless now keeps server alive with asyncio.sleep(1) loop - CLI mode only for non-headless fallback - Enables running SenSu as daemon/service
This commit is contained in:
@@ -34,7 +34,7 @@ commands:
|
|||||||
- framework.permission.read
|
- framework.permission.read
|
||||||
source: internal
|
source: internal
|
||||||
plugin_status: &id002
|
plugin_status: &id002
|
||||||
description: show plugin status
|
description: show status
|
||||||
permissions: []
|
permissions: []
|
||||||
source: plugin.example_plugin
|
source: plugin.example_plugin
|
||||||
pm_plugin_status:
|
pm_plugin_status:
|
||||||
@@ -92,7 +92,7 @@ commands:
|
|||||||
permissions:
|
permissions:
|
||||||
- framework.command.test
|
- framework.command.test
|
||||||
source: internal
|
source: internal
|
||||||
last_updated: 252439.598783596
|
last_updated: 274185.477575092
|
||||||
plugin_commands:
|
plugin_commands:
|
||||||
example_plugin:
|
example_plugin:
|
||||||
echo: *id001
|
echo: *id001
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
http_port: 4200
|
http_port: 4200
|
||||||
last_updated: 252439.682639846
|
last_updated: 274185.481265509
|
||||||
plugin_routes:
|
plugin_routes:
|
||||||
example_plugin:
|
example_plugin:
|
||||||
- methods:
|
- methods:
|
||||||
|
|||||||
@@ -333,7 +333,11 @@ class SenSuFramework:
|
|||||||
|
|
||||||
# 特殊终端,添加命令行输入处理
|
# 特殊终端,添加命令行输入处理
|
||||||
tui = self.service_manager.get_service("tui")
|
tui = self.service_manager.get_service("tui")
|
||||||
if self.headless or not hasattr(tui, 'tui_app'):
|
if self.headless:
|
||||||
|
while self.is_running:
|
||||||
|
try: await asyncio.sleep(1)
|
||||||
|
except asyncio.CancelledError: break
|
||||||
|
elif not hasattr(tui, 'tui_app'):
|
||||||
await self._run_cli_mode()
|
await self._run_cli_mode()
|
||||||
else:
|
else:
|
||||||
# 原有的TUI模式
|
# 原有的TUI模式
|
||||||
|
|||||||
Reference in New Issue
Block a user