diff --git a/dsLightRag/WxGzh/T2_CollectArticle.py b/dsLightRag/WxGzh/T2_CollectArticle.py index 7069a9c1..051e82dc 100644 --- a/dsLightRag/WxGzh/T2_CollectArticle.py +++ b/dsLightRag/WxGzh/T2_CollectArticle.py @@ -221,16 +221,26 @@ async def process_wechat_account(account_info, cookies, token): async def main(): """主函数""" - cookies, token = await initialize_wechat_session() - if not cookies or not token: - logger.error("初始化微信会话失败") - return - - account_list = await get_wechat_sources() - for account in account_list: - await process_wechat_account(account, cookies, token) - - driver.quit() + while True: + try: + logger.info("开始执行微信公众号文章采集任务") + cookies, token = await initialize_wechat_session() + if not cookies or not token: + logger.error("初始化微信会话失败") + continue + + account_list = await get_wechat_sources() + for account in account_list: + await process_wechat_account(account, cookies, token) + + logger.info("本次采集任务完成,等待30分钟后再次执行") + await asyncio.sleep(30 * 60) # 30分钟 + except Exception as e: + logger.error(f"主循环发生错误: {e}") + await asyncio.sleep(30 * 60) # 出错后也等待30分钟 + finally: + if 'driver' in globals(): + driver.quit() if __name__ == '__main__':