You've already forked pruchase_jhw
修改
This commit is contained in:
+8
-3
@@ -3,6 +3,7 @@ import signal
|
||||
import sys
|
||||
from loguru import logger
|
||||
|
||||
from src.browser.manager import get_browser_manager
|
||||
from src.config.settings import get_settings
|
||||
from src.config.accounts import load_accounts_config
|
||||
from src.notifications.service import NotificationService
|
||||
@@ -37,12 +38,15 @@ async def main() -> None:
|
||||
logger.critical(f"由于配置错误,守护进程启动失败: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
# 3. 实例化核心任务分发器与 Stream 监听器
|
||||
# 3. 预热浏览器:为所有已配置账号提前启动常驻浏览器上下文,任务到达时即开即用
|
||||
await get_browser_manager().prewarm()
|
||||
|
||||
# 4. 实例化核心任务分发器与 Stream 监听器
|
||||
dispatcher = TaskDispatcher()
|
||||
stream_listener = RedisStreamListener(dispatcher)
|
||||
delay_listener = RedisZSetDelayListener(dispatcher)
|
||||
|
||||
# 4. 优雅停机信号处理 (跨平台支持)
|
||||
# 5. 优雅停机信号处理 (跨平台支持)
|
||||
loop = asyncio.get_running_loop()
|
||||
|
||||
def shutdown_handler(sig_name: str) -> None:
|
||||
@@ -62,7 +66,7 @@ async def main() -> None:
|
||||
else:
|
||||
logger.debug("运行于 Windows 平台。跳过系统信号注册,将直接捕获 KeyboardInterrupt。")
|
||||
|
||||
# 5. 启动消息监听消费主循环
|
||||
# 6. 启动消息监听消费主循环
|
||||
try:
|
||||
stream_task = asyncio.create_task(stream_listener.listen())
|
||||
delay_task = asyncio.create_task(delay_listener.listen())
|
||||
@@ -76,6 +80,7 @@ async def main() -> None:
|
||||
await asyncio.gather(
|
||||
stream_listener.stop(),
|
||||
delay_listener.stop(),
|
||||
get_browser_manager().close_all(),
|
||||
get_redis_manager().close(),
|
||||
return_exceptions=True,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user