Files
GX-gp-notify/logs/uwsgi-wechat.log
T
2026-01-09 11:07:10 +08:00

5710 lines
546 KiB
Plaintext

Thu Jan 8 23:24:19 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:24:19 2026] ***
Thu Jan 8 23:24:19 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:24:19 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:24:19 2026 - nodename: ubserver
Thu Jan 8 23:24:19 2026 - machine: x86_64
Thu Jan 8 23:24:19 2026 - clock source: unix
Thu Jan 8 23:24:19 2026 - pcre jit disabled
Thu Jan 8 23:24:19 2026 - detected number of CPU cores: 12
Thu Jan 8 23:24:19 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:24:19 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:24:19 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:24:19 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:24:19 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:24:19 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:24:19 2026 - your processes number limit is 61306
Thu Jan 8 23:24:19 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:24:19 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:24:19 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:24:19 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:24:19 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:24:19 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:24:19 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42415 (port auto-assigned) fd 3
Thu Jan 8 23:24:19 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:24:19 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:24:19 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:24:19 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:24:19 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:24:19 2026 - Python main interpreter initialized at 0x70efb4752d10
Thu Jan 8 23:24:19 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:24:19 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:24:19 2026 - python threads support enabled
Thu Jan 8 23:24:19 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:24:19 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:24:19 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:24:19 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:24:20 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:24:20 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:24:20 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x70efb4752d10 pid: 1602880 (default app)
Thu Jan 8 23:24:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:24:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:24:20 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:24:20 2026 - spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:24:20 2026 - spawned uWSGI worker 1 (pid: 1602899, cores: 2)
Thu Jan 8 23:24:20 2026 - spawned uWSGI worker 2 (pid: 1602900, cores: 2)
Thu Jan 8 23:24:20 2026 - spawned uWSGI http 1 (pid: 1602903)
Thu Jan 8 23:24:20 2026 - Python auto-reloader enabled
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 29e+mJkgneFeo1ny28a6GEST9jWQZ520LjorzV4NOfgoH5QA/W...
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 79b6eafce857f4ef43b5e61edc1fe207cda31b3f
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 79b6eafce857f4ef43b5e61edc1fe207cda31b3f
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:24:40 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=crawl_now, user=WeiJueSen
2026-01-08 23:24:40 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: crawl_now, user: WeiJueSen
2026-01-08 23:24:40 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 触发立即搜索
2026-01-08 23:24:40 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 23:24:40 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-08 23:24:40 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-08 23:24:40 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-08 23:24:40 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-08 23:24:40 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-08 23:24:40 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-08 23:24:40 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-08 23:24:40 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-08 23:24:40 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: False)
2026-01-08 23:24:40 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 23:24:40 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 29e+mJkgneFeo1ny28a6GEST9jWQZ520LjorzV4NOfgoH5QA/W...
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 79b6eafce857f4ef43b5e61edc1fe207cda31b3f
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 79b6eafce857f4ef43b5e61edc1fe207cda31b3f
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:24:45 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=crawl_now, user=WeiJueSen
2026-01-08 23:24:45 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: crawl_now, user: WeiJueSen
2026-01-08 23:24:45 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 触发立即搜索
2026-01-08 23:24:45 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: False)
2026-01-08 23:24:45 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 23:24:45 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 23:24:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:45 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.43秒
2026-01-08 23:24:45 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 23:24:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 23:24:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 23:24:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 23:24:46 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 23:24:47 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.61秒
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 23:24:47 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 23:24:47 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.43秒
2026-01-08 23:24:47 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 23:24:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.30秒
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 23:24:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 23:24:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 23:24:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 23:24:48 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 23:24:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:49 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-08 23:24:49 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 23:24:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:24:49 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 23:24:49 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 23:24:49 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 23:24:49 - gx_gp_monitor.main - INFO - 筛选出 1300 条新公告
2026-01-08 23:24:49 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 23:24:49 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 23:24:49 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 23:24:49 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 23:24:49 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 23:24:49 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1300, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
{address space usage: 249786368 bytes/238MB} {rss usage: 67588096 bytes/64MB} [pid: 1602900|app: 0|req: 2/1] 106.55.202.215 () {36 vars in 679 bytes} [Thu Jan 8 23:24:45 2026] POST /api/v1/wechat/callback?msg_signature=79b6eafce857f4ef43b5e61edc1fe207cda31b3f&timestamp=1767885880&nonce=1767448160 => generated 798 bytes in 4081 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-08 23:25:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.49秒
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 23:25:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 23:25:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 23:25:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 23:25:11 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 23:25:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 23:25:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 23:25:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-08 23:25:12 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 23:25:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 23:25:13 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 23:25:13 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 23:25:13 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-08 23:25:13 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 23:25:13 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:13 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 23:25:13 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:13 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 23:25:14 - gx_gp_monitor.main - INFO - 筛选出 1300 条新公告
2026-01-08 23:25:14 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 23:25:14 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 23:25:14 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 23:25:14 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 23:25:14 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 23:25:14 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1300, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
{address space usage: 244609024 bytes/233MB} {rss usage: 62353408 bytes/59MB} [pid: 1602900|app: 0|req: 2/2] 183.47.98.168 () {36 vars in 678 bytes} [Thu Jan 8 23:24:40 2026] POST /api/v1/wechat/callback?msg_signature=79b6eafce857f4ef43b5e61edc1fe207cda31b3f&timestamp=1767885880&nonce=1767448160 => generated 798 bytes in 33820 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: WrH7Jb1CJaRbTgRYnX0MmwszM4U7Ik/1SAqCWS1iq2QU8KyMML...
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 1bee1bed89a994b34b8572f926d6e545f045604e
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 1bee1bed89a994b34b8572f926d6e545f045604e
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:26:07 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=keyword_manage, user=WeiJueSen
2026-01-08 23:26:07 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: keyword_manage, user: WeiJueSen
2026-01-08 23:26:07 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求关键词管理
{address space usage: 234106880 bytes/223MB} {rss usage: 39456768 bytes/37MB} [pid: 1602899|app: 0|req: 1/3] 183.47.117.101 () {36 vars in 679 bytes} [Thu Jan 8 23:26:07 2026] POST /api/v1/wechat/callback?msg_signature=1bee1bed89a994b34b8572f926d6e545f045604e&timestamp=1767885967&nonce=1767297702 => generated 1522 bytes in 6 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
Thu Jan 8 23:26:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/menu_manager.py has been modified
Thu Jan 8 23:26:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/menu_manager.py has been modified
Thu Jan 8 23:26:49 2026 - gateway "uWSGI http 1" has been buried (pid: 1602903)
Thu Jan 8 23:26:49 2026 - ...gracefully killing workers...
Thu Jan 8 23:26:49 2026 - Gracefully killing worker 2 (pid: 1602900)...
Thu Jan 8 23:26:49 2026 - Gracefully killing worker 1 (pid: 1602899)...
Thu Jan 8 23:26:50 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:26:50 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:26:50 2026 - binary reloading uWSGI...
Thu Jan 8 23:26:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:26:50 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:26:50 2026 - found fd 3 mapped to socket 0 (127.0.0.1:42415)
Thu Jan 8 23:26:50 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:26:50 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:26:50 2026] ***
Thu Jan 8 23:26:50 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:26:50 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:26:50 2026 - nodename: ubserver
Thu Jan 8 23:26:50 2026 - machine: x86_64
Thu Jan 8 23:26:50 2026 - clock source: unix
Thu Jan 8 23:26:50 2026 - pcre jit disabled
Thu Jan 8 23:26:50 2026 - detected number of CPU cores: 12
Thu Jan 8 23:26:50 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:26:50 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:26:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:26:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:26:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:26:50 2026 - your processes number limit is 61306
Thu Jan 8 23:26:50 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:26:50 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:26:50 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:26:50 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:26:50 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:26:50 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:26:50 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:37889 (port auto-assigned) fd 4
Thu Jan 8 23:26:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:26:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:26:50 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:26:50 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:26:50 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:26:50 2026 - Python main interpreter initialized at 0x75999d552d10
Thu Jan 8 23:26:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:26:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:26:50 2026 - python threads support enabled
Thu Jan 8 23:26:50 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:26:50 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:26:50 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:26:50 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:26:50 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:26:50 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:26:50 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x75999d552d10 pid: 1602880 (default app)
Thu Jan 8 23:26:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:26:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:26:50 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:26:50 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:26:50 2026 - spawned uWSGI worker 1 (pid: 1604595, cores: 2)
Thu Jan 8 23:26:50 2026 - spawned uWSGI worker 2 (pid: 1604596, cores: 2)
Thu Jan 8 23:26:50 2026 - spawned uWSGI http 1 (pid: 1604600)
Thu Jan 8 23:26:50 2026 - Python auto-reloader enabled
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: yWYKLWjpp1gWQZ4OUse8zPR3YaOQZ9wYUHaz8WIETXh3J9S9F/...
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: bb97c3ed9044e8f2966690372c8e2283c9597d82
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: bb97c3ed9044e8f2966690372c8e2283c9597d82
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:27:36 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=about_system, user=WeiJueSen
2026-01-08 23:27:36 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: about_system, user: WeiJueSen
2026-01-08 23:27:36 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求系统信息
{address space usage: 234065920 bytes/223MB} {rss usage: 39223296 bytes/37MB} [pid: 1604596|app: 0|req: 1/1] 14.116.241.251 () {36 vars in 679 bytes} [Thu Jan 8 23:27:36 2026] POST /api/v1/wechat/callback?msg_signature=bb97c3ed9044e8f2966690372c8e2283c9597d82&timestamp=1767886056&nonce=1767320388 => generated 2718 bytes in 10 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
Thu Jan 8 23:29:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:29:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:29:38 2026 - gateway "uWSGI http 1" has been buried (pid: 1604600)
Thu Jan 8 23:29:38 2026 - ...gracefully killing workers...
Thu Jan 8 23:29:38 2026 - Gracefully killing worker 1 (pid: 1604595)...
Thu Jan 8 23:29:38 2026 - Gracefully killing worker 2 (pid: 1604596)...
Thu Jan 8 23:29:39 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:29:39 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:29:39 2026 - binary reloading uWSGI...
Thu Jan 8 23:29:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:39 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:29:39 2026 - found fd 4 mapped to socket 0 (127.0.0.1:37889)
Thu Jan 8 23:29:39 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:29:39 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:29:39 2026] ***
Thu Jan 8 23:29:39 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:29:39 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:29:39 2026 - nodename: ubserver
Thu Jan 8 23:29:39 2026 - machine: x86_64
Thu Jan 8 23:29:39 2026 - clock source: unix
Thu Jan 8 23:29:39 2026 - pcre jit disabled
Thu Jan 8 23:29:39 2026 - detected number of CPU cores: 12
Thu Jan 8 23:29:39 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:39 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:29:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:39 2026 - your processes number limit is 61306
Thu Jan 8 23:29:39 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:29:39 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:29:39 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:29:39 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:29:39 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:29:39 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:29:39 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39959 (port auto-assigned) fd 3
Thu Jan 8 23:29:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:39 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:29:39 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:39 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:39 2026 - Python main interpreter initialized at 0x776a98952d10
Thu Jan 8 23:29:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:39 2026 - python threads support enabled
Thu Jan 8 23:29:39 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:29:39 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:29:39 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:29:39 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:29:39 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:29:39 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:29:39 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x776a98952d10 pid: 1602880 (default app)
Thu Jan 8 23:29:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:39 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:29:39 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:29:39 2026 - spawned uWSGI worker 1 (pid: 1605499, cores: 2)
Thu Jan 8 23:29:39 2026 - spawned uWSGI worker 2 (pid: 1605500, cores: 2)
Thu Jan 8 23:29:39 2026 - spawned uWSGI http 1 (pid: 1605504)
Thu Jan 8 23:29:39 2026 - Python auto-reloader enabled
Thu Jan 8 23:29:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/menu_manager.py has been modified
Thu Jan 8 23:29:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/menu_manager.py has been modified
Thu Jan 8 23:29:44 2026 - gateway "uWSGI http 1" has been buried (pid: 1605504)
Thu Jan 8 23:29:44 2026 - ...gracefully killing workers...
Thu Jan 8 23:29:44 2026 - Gracefully killing worker 2 (pid: 1605500)...
Thu Jan 8 23:29:44 2026 - Gracefully killing worker 1 (pid: 1605499)...
Thu Jan 8 23:29:45 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:29:45 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:29:45 2026 - binary reloading uWSGI...
Thu Jan 8 23:29:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:45 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:29:45 2026 - found fd 3 mapped to socket 0 (127.0.0.1:39959)
Thu Jan 8 23:29:45 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:29:45 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:29:45 2026] ***
Thu Jan 8 23:29:45 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:29:45 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:29:45 2026 - nodename: ubserver
Thu Jan 8 23:29:45 2026 - machine: x86_64
Thu Jan 8 23:29:45 2026 - clock source: unix
Thu Jan 8 23:29:45 2026 - pcre jit disabled
Thu Jan 8 23:29:45 2026 - detected number of CPU cores: 12
Thu Jan 8 23:29:45 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:45 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:29:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:45 2026 - your processes number limit is 61306
Thu Jan 8 23:29:45 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:29:45 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:29:45 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:29:45 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:29:45 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:29:45 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:29:45 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:44777 (port auto-assigned) fd 4
Thu Jan 8 23:29:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:45 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:29:45 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:45 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:45 2026 - Python main interpreter initialized at 0x7c1a39352d10
Thu Jan 8 23:29:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:45 2026 - python threads support enabled
Thu Jan 8 23:29:45 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:29:45 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:29:45 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:29:45 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:29:46 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:29:46 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:29:46 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7c1a39352d10 pid: 1602880 (default app)
Thu Jan 8 23:29:46 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:46 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:46 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:29:46 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:29:46 2026 - spawned uWSGI worker 1 (pid: 1605532, cores: 2)
Thu Jan 8 23:29:46 2026 - spawned uWSGI worker 2 (pid: 1605534, cores: 2)
Thu Jan 8 23:29:46 2026 - Python auto-reloader enabled
Thu Jan 8 23:29:46 2026 - spawned uWSGI http 1 (pid: 1605536)
Thu Jan 8 23:29:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:29:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:29:58 2026 - gateway "uWSGI http 1" has been buried (pid: 1605536)
Thu Jan 8 23:29:58 2026 - ...gracefully killing workers...
Thu Jan 8 23:29:58 2026 - Gracefully killing worker 1 (pid: 1605532)...
Thu Jan 8 23:29:58 2026 - Gracefully killing worker 2 (pid: 1605534)...
Thu Jan 8 23:29:59 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:29:59 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:29:59 2026 - binary reloading uWSGI...
Thu Jan 8 23:29:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:59 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:29:59 2026 - found fd 4 mapped to socket 0 (127.0.0.1:44777)
Thu Jan 8 23:29:59 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:29:59 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:29:59 2026] ***
Thu Jan 8 23:29:59 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:29:59 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:29:59 2026 - nodename: ubserver
Thu Jan 8 23:29:59 2026 - machine: x86_64
Thu Jan 8 23:29:59 2026 - clock source: unix
Thu Jan 8 23:29:59 2026 - pcre jit disabled
Thu Jan 8 23:29:59 2026 - detected number of CPU cores: 12
Thu Jan 8 23:29:59 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:59 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:29:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:29:59 2026 - your processes number limit is 61306
Thu Jan 8 23:29:59 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:29:59 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:29:59 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:29:59 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:29:59 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:29:59 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:29:59 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39661 (port auto-assigned) fd 3
Thu Jan 8 23:29:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:59 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:29:59 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:59 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:29:59 2026 - Python main interpreter initialized at 0x7253cdf52d10
Thu Jan 8 23:29:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:59 2026 - python threads support enabled
Thu Jan 8 23:29:59 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:29:59 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:29:59 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:29:59 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:29:59 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:29:59 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:29:59 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7253cdf52d10 pid: 1602880 (default app)
Thu Jan 8 23:29:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:29:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:29:59 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:29:59 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:29:59 2026 - spawned uWSGI worker 1 (pid: 1605566, cores: 2)
Thu Jan 8 23:29:59 2026 - spawned uWSGI worker 2 (pid: 1605567, cores: 2)
Thu Jan 8 23:29:59 2026 - spawned uWSGI http 1 (pid: 1605570)
Thu Jan 8 23:29:59 2026 - Python auto-reloader enabled
Thu Jan 8 23:30:11 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:30:11 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:30:11 2026 - gateway "uWSGI http 1" has been buried (pid: 1605570)
Thu Jan 8 23:30:11 2026 - ...gracefully killing workers...
Thu Jan 8 23:30:11 2026 - Gracefully killing worker 1 (pid: 1605566)...
Thu Jan 8 23:30:11 2026 - Gracefully killing worker 2 (pid: 1605567)...
Thu Jan 8 23:30:12 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:30:12 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:30:12 2026 - binary reloading uWSGI...
Thu Jan 8 23:30:12 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:12 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:30:12 2026 - found fd 3 mapped to socket 0 (127.0.0.1:39661)
Thu Jan 8 23:30:12 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:30:12 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:30:12 2026] ***
Thu Jan 8 23:30:12 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:30:12 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:30:12 2026 - nodename: ubserver
Thu Jan 8 23:30:12 2026 - machine: x86_64
Thu Jan 8 23:30:12 2026 - clock source: unix
Thu Jan 8 23:30:12 2026 - pcre jit disabled
Thu Jan 8 23:30:12 2026 - detected number of CPU cores: 12
Thu Jan 8 23:30:12 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:12 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:30:12 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:12 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:12 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:12 2026 - your processes number limit is 61306
Thu Jan 8 23:30:12 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:30:12 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:30:12 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:30:12 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:30:12 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:30:12 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:30:12 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45953 (port auto-assigned) fd 4
Thu Jan 8 23:30:12 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:12 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:12 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:30:12 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:30:12 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:30:12 2026 - Python main interpreter initialized at 0x7a48fed52d10
Thu Jan 8 23:30:12 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:12 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:12 2026 - python threads support enabled
Thu Jan 8 23:30:12 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:30:12 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:30:12 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:30:12 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:30:12 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:30:12 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:30:12 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7a48fed52d10 pid: 1602880 (default app)
Thu Jan 8 23:30:12 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:12 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:12 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:30:12 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:30:12 2026 - spawned uWSGI worker 1 (pid: 1605779, cores: 2)
Thu Jan 8 23:30:12 2026 - spawned uWSGI worker 2 (pid: 1605780, cores: 2)
Thu Jan 8 23:30:12 2026 - spawned uWSGI http 1 (pid: 1605783)
Thu Jan 8 23:30:12 2026 - Python auto-reloader enabled
Thu Jan 8 23:30:52 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:30:52 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:30:52 2026 - gateway "uWSGI http 1" has been buried (pid: 1605783)
Thu Jan 8 23:30:52 2026 - ...gracefully killing workers...
Thu Jan 8 23:30:52 2026 - Gracefully killing worker 1 (pid: 1605779)...
Thu Jan 8 23:30:52 2026 - Gracefully killing worker 2 (pid: 1605780)...
Thu Jan 8 23:30:53 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:30:53 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:30:53 2026 - binary reloading uWSGI...
Thu Jan 8 23:30:53 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:53 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:30:53 2026 - found fd 4 mapped to socket 0 (127.0.0.1:45953)
Thu Jan 8 23:30:53 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:30:53 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:30:53 2026] ***
Thu Jan 8 23:30:53 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:30:53 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:30:53 2026 - nodename: ubserver
Thu Jan 8 23:30:53 2026 - machine: x86_64
Thu Jan 8 23:30:53 2026 - clock source: unix
Thu Jan 8 23:30:53 2026 - pcre jit disabled
Thu Jan 8 23:30:53 2026 - detected number of CPU cores: 12
Thu Jan 8 23:30:53 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:53 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:30:53 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:53 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:53 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:30:53 2026 - your processes number limit is 61306
Thu Jan 8 23:30:53 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:30:53 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:30:53 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:30:53 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:30:53 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:30:53 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:30:53 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:46579 (port auto-assigned) fd 3
Thu Jan 8 23:30:53 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:53 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:53 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:30:53 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:30:53 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:30:53 2026 - Python main interpreter initialized at 0x78e340352d10
Thu Jan 8 23:30:53 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:53 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:53 2026 - python threads support enabled
Thu Jan 8 23:30:53 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:30:53 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:30:53 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:30:53 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:30:53 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:30:53 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:30:53 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x78e340352d10 pid: 1602880 (default app)
Thu Jan 8 23:30:53 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:30:53 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:30:53 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:30:53 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:30:53 2026 - spawned uWSGI worker 1 (pid: 1606003, cores: 2)
Thu Jan 8 23:30:53 2026 - spawned uWSGI worker 2 (pid: 1606006, cores: 2)
Thu Jan 8 23:30:53 2026 - Python auto-reloader enabled
Thu Jan 8 23:30:53 2026 - spawned uWSGI http 1 (pid: 1606009)
Thu Jan 8 23:31:22 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:22 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:22 2026 - gateway "uWSGI http 1" has been buried (pid: 1606009)
Thu Jan 8 23:31:22 2026 - ...gracefully killing workers...
Thu Jan 8 23:31:22 2026 - Gracefully killing worker 2 (pid: 1606006)...
Thu Jan 8 23:31:22 2026 - Gracefully killing worker 1 (pid: 1606003)...
Thu Jan 8 23:31:23 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:31:23 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:31:23 2026 - binary reloading uWSGI...
Thu Jan 8 23:31:23 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:23 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:31:23 2026 - found fd 3 mapped to socket 0 (127.0.0.1:46579)
Thu Jan 8 23:31:23 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:31:23 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:31:23 2026] ***
Thu Jan 8 23:31:23 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:31:23 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:31:23 2026 - nodename: ubserver
Thu Jan 8 23:31:23 2026 - machine: x86_64
Thu Jan 8 23:31:23 2026 - clock source: unix
Thu Jan 8 23:31:23 2026 - pcre jit disabled
Thu Jan 8 23:31:23 2026 - detected number of CPU cores: 12
Thu Jan 8 23:31:23 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:23 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:31:23 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:23 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:23 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:23 2026 - your processes number limit is 61306
Thu Jan 8 23:31:23 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:31:23 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:31:23 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:31:23 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:31:23 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:31:23 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:31:23 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42193 (port auto-assigned) fd 4
Thu Jan 8 23:31:23 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:23 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:23 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:31:23 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:23 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:23 2026 - Python main interpreter initialized at 0x7f7b1e552d10
Thu Jan 8 23:31:23 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:23 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:23 2026 - python threads support enabled
Thu Jan 8 23:31:23 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:31:23 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:31:23 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:31:23 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:31:23 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:31:23 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:31:23 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7f7b1e552d10 pid: 1602880 (default app)
Thu Jan 8 23:31:23 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:23 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:23 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:31:23 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:31:23 2026 - spawned uWSGI worker 1 (pid: 1606093, cores: 2)
Thu Jan 8 23:31:23 2026 - spawned uWSGI worker 2 (pid: 1606094, cores: 2)
Thu Jan 8 23:31:23 2026 - spawned uWSGI http 1 (pid: 1606098)
Thu Jan 8 23:31:23 2026 - Python auto-reloader enabled
Thu Jan 8 23:31:39 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:39 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:39 2026 - gateway "uWSGI http 1" has been buried (pid: 1606098)
Thu Jan 8 23:31:39 2026 - ...gracefully killing workers...
Thu Jan 8 23:31:39 2026 - Gracefully killing worker 1 (pid: 1606093)...
Thu Jan 8 23:31:39 2026 - Gracefully killing worker 2 (pid: 1606094)...
Thu Jan 8 23:31:40 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:31:40 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:31:40 2026 - binary reloading uWSGI...
Thu Jan 8 23:31:40 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:40 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:31:40 2026 - found fd 4 mapped to socket 0 (127.0.0.1:42193)
Thu Jan 8 23:31:40 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:31:40 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:31:40 2026] ***
Thu Jan 8 23:31:40 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:31:40 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:31:40 2026 - nodename: ubserver
Thu Jan 8 23:31:40 2026 - machine: x86_64
Thu Jan 8 23:31:40 2026 - clock source: unix
Thu Jan 8 23:31:40 2026 - pcre jit disabled
Thu Jan 8 23:31:40 2026 - detected number of CPU cores: 12
Thu Jan 8 23:31:40 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:40 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:31:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:40 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:40 2026 - your processes number limit is 61306
Thu Jan 8 23:31:40 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:31:40 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:31:40 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:31:40 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:31:40 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:31:40 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:31:40 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:35373 (port auto-assigned) fd 3
Thu Jan 8 23:31:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:40 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:31:40 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:40 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:40 2026 - Python main interpreter initialized at 0x7b819db52d10
Thu Jan 8 23:31:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:40 2026 - python threads support enabled
Thu Jan 8 23:31:40 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:31:40 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:31:40 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:31:40 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:31:40 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:31:40 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:31:40 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7b819db52d10 pid: 1602880 (default app)
Thu Jan 8 23:31:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:40 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:31:40 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:31:40 2026 - spawned uWSGI worker 1 (pid: 1606224, cores: 2)
Thu Jan 8 23:31:40 2026 - spawned uWSGI worker 2 (pid: 1606227, cores: 2)
Thu Jan 8 23:31:40 2026 - Python auto-reloader enabled
Thu Jan 8 23:31:40 2026 - spawned uWSGI http 1 (pid: 1606228)
Thu Jan 8 23:31:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:31:55 2026 - gateway "uWSGI http 1" has been buried (pid: 1606228)
Thu Jan 8 23:31:55 2026 - ...gracefully killing workers...
Thu Jan 8 23:31:55 2026 - Gracefully killing worker 2 (pid: 1606227)...
Thu Jan 8 23:31:55 2026 - Gracefully killing worker 1 (pid: 1606224)...
Thu Jan 8 23:31:56 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:31:56 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:31:56 2026 - binary reloading uWSGI...
Thu Jan 8 23:31:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:56 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:31:56 2026 - found fd 3 mapped to socket 0 (127.0.0.1:35373)
Thu Jan 8 23:31:56 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:31:56 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:31:56 2026] ***
Thu Jan 8 23:31:56 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:31:56 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:31:56 2026 - nodename: ubserver
Thu Jan 8 23:31:56 2026 - machine: x86_64
Thu Jan 8 23:31:56 2026 - clock source: unix
Thu Jan 8 23:31:56 2026 - pcre jit disabled
Thu Jan 8 23:31:56 2026 - detected number of CPU cores: 12
Thu Jan 8 23:31:56 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:56 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:31:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:31:56 2026 - your processes number limit is 61306
Thu Jan 8 23:31:56 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:31:56 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:31:56 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:31:56 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:31:56 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:31:56 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:31:56 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43279 (port auto-assigned) fd 4
Thu Jan 8 23:31:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:56 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:31:56 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:56 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:31:57 2026 - Python main interpreter initialized at 0x7b48c3b52d10
Thu Jan 8 23:31:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:57 2026 - python threads support enabled
Thu Jan 8 23:31:57 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:31:57 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:31:57 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:31:57 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:31:57 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:31:57 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:31:57 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7b48c3b52d10 pid: 1602880 (default app)
Thu Jan 8 23:31:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:31:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:31:57 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:31:57 2026 - gracefully (RE)spawned uWSGI master process (pid: 1602880)
Thu Jan 8 23:31:57 2026 - spawned uWSGI worker 1 (pid: 1606265, cores: 2)
Thu Jan 8 23:31:57 2026 - spawned uWSGI worker 2 (pid: 1606266, cores: 2)
Thu Jan 8 23:31:57 2026 - spawned uWSGI http 1 (pid: 1606269)
Thu Jan 8 23:31:57 2026 - Python auto-reloader enabled
Thu Jan 8 23:32:17 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:32:17 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Thu Jan 8 23:32:17 2026 - gateway "uWSGI http 1" has been buried (pid: 1606269)
Thu Jan 8 23:32:17 2026 - ...gracefully killing workers...
Thu Jan 8 23:32:17 2026 - Gracefully killing worker 2 (pid: 1606266)...
Thu Jan 8 23:32:17 2026 - Gracefully killing worker 1 (pid: 1606265)...
Thu Jan 8 23:32:18 2026 - worker 1 buried after 1 seconds
Thu Jan 8 23:32:18 2026 - worker 2 buried after 1 seconds
Thu Jan 8 23:32:18 2026 - binary reloading uWSGI...
Thu Jan 8 23:32:18 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:18 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Thu Jan 8 23:32:18 2026 - found fd 4 mapped to socket 0 (127.0.0.1:43279)
Thu Jan 8 23:32:18 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Thu Jan 8 23:32:18 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:32:18 2026] ***
Thu Jan 8 23:32:18 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:32:18 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:32:18 2026 - nodename: ubserver
Thu Jan 8 23:32:18 2026 - machine: x86_64
Thu Jan 8 23:32:18 2026 - clock source: unix
Thu Jan 8 23:32:18 2026 - pcre jit disabled
Thu Jan 8 23:32:18 2026 - detected number of CPU cores: 12
Thu Jan 8 23:32:18 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:18 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:32:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:18 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:18 2026 - your processes number limit is 61306
Thu Jan 8 23:32:18 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:32:18 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:32:18 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:32:18 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:32:18 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:32:18 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Thu Jan 8 23:32:18 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45679 (port auto-assigned) fd 3
Thu Jan 8 23:32:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:18 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:32:18 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:18 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:18 2026 - Python main interpreter initialized at 0x709a17952d10
Thu Jan 8 23:32:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:18 2026 - python threads support enabled
Thu Jan 8 23:32:18 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:32:18 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:32:18 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:32:18 2026 - *** Operational MODE: preforking+threaded ***
应用创建失败: invalid character '🧹' (U+1F9F9) (message_handler.py, line 866)
Thu Jan 8 23:32:18 2026 - VACUUM: pidfile removed.
Thu Jan 8 23:32:20 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:32:20 2026] ***
Thu Jan 8 23:32:20 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:32:20 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:32:20 2026 - nodename: ubserver
Thu Jan 8 23:32:20 2026 - machine: x86_64
Thu Jan 8 23:32:20 2026 - clock source: unix
Thu Jan 8 23:32:20 2026 - pcre jit disabled
Thu Jan 8 23:32:20 2026 - detected number of CPU cores: 12
Thu Jan 8 23:32:20 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:20 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:32:20 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:32:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:20 2026 - your processes number limit is 61306
Thu Jan 8 23:32:20 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:32:20 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:32:20 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:32:20 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:32:20 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:32:20 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:32:20 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39829 (port auto-assigned) fd 3
Thu Jan 8 23:32:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:20 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:32:20 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:20 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:20 2026 - Python main interpreter initialized at 0x78d37bf52d10
Thu Jan 8 23:32:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:20 2026 - python threads support enabled
Thu Jan 8 23:32:20 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:32:20 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:32:20 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:32:20 2026 - *** Operational MODE: preforking+threaded ***
应用创建失败: invalid character '🧹' (U+1F9F9) (message_handler.py, line 866)
Thu Jan 8 23:32:20 2026 - VACUUM: pidfile removed.
Thu Jan 8 23:32:22 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:32:22 2026] ***
Thu Jan 8 23:32:22 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:32:22 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:32:22 2026 - nodename: ubserver
Thu Jan 8 23:32:22 2026 - machine: x86_64
Thu Jan 8 23:32:22 2026 - clock source: unix
Thu Jan 8 23:32:22 2026 - pcre jit disabled
Thu Jan 8 23:32:22 2026 - detected number of CPU cores: 12
Thu Jan 8 23:32:22 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:22 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:32:22 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:32:22 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:22 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:22 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:22 2026 - your processes number limit is 61306
Thu Jan 8 23:32:22 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:32:22 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:32:22 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:32:22 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:32:22 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:32:22 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:32:22 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40245 (port auto-assigned) fd 3
Thu Jan 8 23:32:22 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:22 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:22 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:32:22 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:22 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:22 2026 - Python main interpreter initialized at 0x7eea4cd52d10
Thu Jan 8 23:32:22 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:22 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:22 2026 - python threads support enabled
Thu Jan 8 23:32:22 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:32:22 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:32:22 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:32:22 2026 - *** Operational MODE: preforking+threaded ***
应用创建失败: invalid character '🧹' (U+1F9F9) (message_handler.py, line 866)
Thu Jan 8 23:32:22 2026 - VACUUM: pidfile removed.
Thu Jan 8 23:32:25 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:32:25 2026] ***
Thu Jan 8 23:32:25 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:32:25 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:32:25 2026 - nodename: ubserver
Thu Jan 8 23:32:25 2026 - machine: x86_64
Thu Jan 8 23:32:25 2026 - clock source: unix
Thu Jan 8 23:32:25 2026 - pcre jit disabled
Thu Jan 8 23:32:25 2026 - detected number of CPU cores: 12
Thu Jan 8 23:32:25 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:25 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:32:25 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:32:25 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:25 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:25 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:25 2026 - your processes number limit is 61306
Thu Jan 8 23:32:25 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:32:25 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:32:25 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:32:25 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:32:25 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:32:25 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:32:25 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43897 (port auto-assigned) fd 3
Thu Jan 8 23:32:25 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:25 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:25 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:32:25 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:25 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:25 2026 - Python main interpreter initialized at 0x77e879f52d10
Thu Jan 8 23:32:25 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:25 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:25 2026 - python threads support enabled
Thu Jan 8 23:32:25 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:32:25 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:32:25 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:32:25 2026 - *** Operational MODE: preforking+threaded ***
应用创建失败: invalid character '🧹' (U+1F9F9) (message_handler.py, line 866)
Thu Jan 8 23:32:25 2026 - VACUUM: pidfile removed.
Thu Jan 8 23:32:29 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:32:29 2026] ***
Thu Jan 8 23:32:29 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:32:29 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:32:29 2026 - nodename: ubserver
Thu Jan 8 23:32:29 2026 - machine: x86_64
Thu Jan 8 23:32:29 2026 - clock source: unix
Thu Jan 8 23:32:29 2026 - pcre jit disabled
Thu Jan 8 23:32:29 2026 - detected number of CPU cores: 12
Thu Jan 8 23:32:29 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:29 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:32:29 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:29 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:32:29 2026 - your processes number limit is 61306
Thu Jan 8 23:32:29 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:32:29 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:32:29 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:32:29 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:32:29 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:32:29 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:32:29 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39677 (port auto-assigned) fd 3
Thu Jan 8 23:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:29 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:32:29 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:29 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:32:29 2026 - Python main interpreter initialized at 0x7afe74752d10
Thu Jan 8 23:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:32:29 2026 - python threads support enabled
Thu Jan 8 23:32:29 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:32:29 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:32:29 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:32:29 2026 - *** Operational MODE: preforking+threaded ***
应用创建失败: invalid character '🧹' (U+1F9F9) (message_handler.py, line 866)
Thu Jan 8 23:32:29 2026 - VACUUM: pidfile removed.
Thu Jan 8 23:52:06 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Thu Jan 8 23:52:06 2026] ***
Thu Jan 8 23:52:06 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Thu Jan 8 23:52:06 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Thu Jan 8 23:52:06 2026 - nodename: ubserver
Thu Jan 8 23:52:06 2026 - machine: x86_64
Thu Jan 8 23:52:06 2026 - clock source: unix
Thu Jan 8 23:52:06 2026 - pcre jit disabled
Thu Jan 8 23:52:06 2026 - detected number of CPU cores: 12
Thu Jan 8 23:52:06 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:52:06 2026 - writing pidfile to ./uwsgi-wechat.pid
Thu Jan 8 23:52:06 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Thu Jan 8 23:52:06 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:52:06 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:52:06 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Thu Jan 8 23:52:06 2026 - your processes number limit is 61306
Thu Jan 8 23:52:06 2026 - your memory page size is 4096 bytes
Thu Jan 8 23:52:06 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Thu Jan 8 23:52:06 2026 - detected max file descriptor number: 1024
Thu Jan 8 23:52:06 2026 - lock engine: pthread robust mutexes
Thu Jan 8 23:52:06 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Thu Jan 8 23:52:06 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Thu Jan 8 23:52:06 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:38137 (port auto-assigned) fd 3
Thu Jan 8 23:52:06 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:52:06 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:52:06 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Thu Jan 8 23:52:06 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:52:06 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Thu Jan 8 23:52:06 2026 - Python main interpreter initialized at 0x7e4ab4d52d10
Thu Jan 8 23:52:06 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:52:06 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:52:06 2026 - python threads support enabled
Thu Jan 8 23:52:06 2026 - your server socket listen backlog is limited to 100 connections
Thu Jan 8 23:52:06 2026 - your mercy for graceful operations on workers is 60 seconds
Thu Jan 8 23:52:06 2026 - mapped 250032 bytes (244 KB) for 4 cores
Thu Jan 8 23:52:06 2026 - *** Operational MODE: preforking+threaded ***
2026-01-08 23:52:07 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 23:52:07 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Thu Jan 8 23:52:07 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7e4ab4d52d10 pid: 1616302 (default app)
Thu Jan 8 23:52:07 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Thu Jan 8 23:52:07 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Thu Jan 8 23:52:07 2026 - *** uWSGI is running in multiple interpreter mode ***
Thu Jan 8 23:52:07 2026 - spawned uWSGI master process (pid: 1616302)
Thu Jan 8 23:52:07 2026 - spawned uWSGI worker 1 (pid: 1616321, cores: 2)
Thu Jan 8 23:52:07 2026 - spawned uWSGI worker 2 (pid: 1616322, cores: 2)
Thu Jan 8 23:52:07 2026 - spawned uWSGI http 1 (pid: 1616325)
Thu Jan 8 23:52:07 2026 - Python auto-reloader enabled
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: n59OiXnRr3zM6BW5uVWSYT6UKG/jwApIhfJmwxnP9GpaH3WRsC...
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 887eba908c181e0228de54116517e004e6d673d3
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 887eba908c181e0228de54116517e004e6d673d3
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:52:13 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=today_stats, user=WeiJueSen
2026-01-08 23:52:13 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: today_stats, user: WeiJueSen
2026-01-08 23:52:13 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日统计
2026-01-08 23:52:13 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 23:52:13 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-08 23:52:13 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-08 23:52:13 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-08 23:52:13 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-08 23:52:13 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-08 23:52:13 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-08 23:52:13 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-08 23:52:13 - gx_gp_monitor.main - INFO - 应用初始化完成
{address space usage: 236015616 bytes/225MB} {rss usage: 47742976 bytes/45MB} [pid: 1616322|app: 0|req: 1/1] 14.116.241.251 () {36 vars in 679 bytes} [Thu Jan 8 23:52:13 2026] POST /api/v1/wechat/callback?msg_signature=887eba908c181e0228de54116517e004e6d673d3&timestamp=1767887533&nonce=1767435597 => generated 966 bytes in 199 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: byLoJ8C5/EIdNJGq7flLu3wK+9KeXhAbFlWGZ4SKbrq/jzVScQ...
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 0d4231a984a41081739519e49ef91e1a62af27c2
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 0d4231a984a41081739519e49ef91e1a62af27c2
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-08 23:52:21 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=keyword_manage, user=WeiJueSen
2026-01-08 23:52:21 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: keyword_manage, user: WeiJueSen
2026-01-08 23:52:21 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求关键词管理
{address space usage: 236015616 bytes/225MB} {rss usage: 47742976 bytes/45MB} [pid: 1616322|app: 0|req: 2/2] 183.47.98.168 () {36 vars in 678 bytes} [Thu Jan 8 23:52:21 2026] POST /api/v1/wechat/callback?msg_signature=0d4231a984a41081739519e49ef91e1a62af27c2&timestamp=1767887541&nonce=1767324070 => generated 1010 bytes in 1 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 1)
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: lD6k2bCX3whG0WVivcAAby7GwI0fzF4lElViOb36QW2etFd8aF...
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 8da1cb947170f3a975db580b0a1a03dc4fbc922a
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 8da1cb947170f3a975db580b0a1a03dc4fbc922a
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 00:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 00:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 00:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 00:10:09 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 00:10:09 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 00:10:09 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 00:10:09 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: lD6k2bCX3whG0WVivcAAby7GwI0fzF4lElViOb36QW2etFd8aF...
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 8da1cb947170f3a975db580b0a1a03dc4fbc922a
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 8da1cb947170f3a975db580b0a1a03dc4fbc922a
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 00:10:14 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 00:10:14 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 00:10:14 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 00:10:14 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 00:10:14 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 00:10:14 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 00:10:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.48秒
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 00:10:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 00:10:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 00:10:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 2V3aU/4FO7zlAhJFhCe168paUJgMT77M+FAB4jNUk/NXWcWgDl...
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 971fef79a492b4102de1d93d6fc27160160dea60
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 971fef79a492b4102de1d93d6fc27160160dea60
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 00:10:15 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=keyword_search, user=WeiJueSen
2026-01-09 00:10:15 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: keyword_search, user: WeiJueSen
2026-01-09 00:10:15 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 触发关键词搜索菜单
{address space usage: 234016768 bytes/223MB} {rss usage: 39407616 bytes/37MB} [pid: 1616321|app: 0|req: 1/3] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 00:10:15 2026] POST /api/v1/wechat/callback?msg_signature=971fef79a492b4102de1d93d6fc27160160dea60&timestamp=1767888615&nonce=1767172344 => generated 1054 bytes in 6 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 00:10:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 00:10:15 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 00:10:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 00:10:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.32秒
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 00:10:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 00:10:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 00:10:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 00:10:16 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 00:10:17 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:17 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 00:10:17 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 00:10:17 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:17 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 00:10:17 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 00:10:17 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:17 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 00:10:17 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 00:10:17 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 00:10:17 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 00:10:17 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 0 条公告
2026-01-09 00:10:17 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-09 00:10:17 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 00:10:17 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 00:10:17 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 00:10:17 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 1300, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 250101760 bytes/238MB} {rss usage: 68210688 bytes/65MB} [pid: 1616322|app: 0|req: 4/4] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 00:10:14 2026] POST /api/v1/wechat/callback?msg_signature=8da1cb947170f3a975db580b0a1a03dc4fbc922a&timestamp=1767888609&nonce=1767456212 => generated 798 bytes in 3065 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 00:10:40 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.51秒
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 00:10:40 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 00:10:40 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 00:10:40 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 00:10:40 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 00:10:41 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 00:10:41 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 00:10:41 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 00:10:41 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 00:10:41 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 00:10:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 00:10:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 00:10:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 00:10:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 00:10:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 00:10:42 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 00:10:42 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 00:10:42 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 00:10:42 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 00:10:42 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 1 条公告
2026-01-09 00:10:42 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 1 -> 0 条公告
2026-01-09 00:10:42 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 00:10:42 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 00:10:42 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 00:10:42 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1, 'date_filtered': 1299, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 242388992 bytes/231MB} {rss usage: 60600320 bytes/57MB} [pid: 1616322|app: 0|req: 4/5] 14.116.241.251 () {36 vars in 679 bytes} [Fri Jan 9 00:10:09 2026] POST /api/v1/wechat/callback?msg_signature=8da1cb947170f3a975db580b0a1a03dc4fbc922a&timestamp=1767888609&nonce=1767456212 => generated 798 bytes in 33363 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: tc4EfnaoWAMd6veuWP3h1KALIuMqFaseXjRRVx9vm8aHsfZaFX...
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 6367d32d17c91baf7f4e084d457653862e380d20
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 6367d32d17c91baf7f4e084d457653862e380d20
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:09:44 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=announcements_by_type, user=WeiJueSen
2026-01-09 08:09:44 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: announcements_by_type, user: WeiJueSen
2026-01-09 08:09:44 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求按类型查看公告
2026-01-09 08:09:44 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
{address space usage: 234016768 bytes/223MB} {rss usage: 44326912 bytes/42MB} [pid: 1616321|app: 0|req: 2/6] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 08:09:44 2026] POST /api/v1/wechat/callback?msg_signature=6367d32d17c91baf7f4e084d457653862e380d20&timestamp=1767917384&nonce=1768231335 => generated 754 bytes in 31 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: KNXRojaaOOvMXAn/bS/jCuXblPiK3JZlgYTa3ZkP/NIaRLHdgd...
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: f3151e52daaf7cd68feebc40d4c3be095a479eeb
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: f3151e52daaf7cd68feebc40d4c3be095a479eeb
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:09:54 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=today_count, user=WeiJueSen
2026-01-09 08:09:54 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: today_count, user: WeiJueSen
{address space usage: 242388992 bytes/231MB} {rss usage: 60600320 bytes/57MB} [pid: 1616322|app: 0|req: 5/7] 183.47.98.227 () {36 vars in 677 bytes} [Fri Jan 9 08:09:54 2026] POST /api/v1/wechat/callback?msg_signature=f3151e52daaf7cd68feebc40d4c3be095a479eeb&timestamp=1767917394&nonce=1768669935 => generated 582 bytes in 1 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: WQBIDFITyc25ID3VlassbD4P/na15LN12tS+UlIJNMoPt5OIWl...
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: c70c8e0f75d9e1e8673a812ba65eecc0fffefac0
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: c70c8e0f75d9e1e8673a812ba65eecc0fffefac0
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:10:03 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=system_status, user=WeiJueSen
2026-01-09 08:10:03 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: system_status, user: WeiJueSen
2026-01-09 08:10:03 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求系统状态
2026-01-09 08:10:03 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 08:10:03 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
{address space usage: 242388992 bytes/231MB} {rss usage: 60600320 bytes/57MB} [pid: 1616322|app: 0|req: 6/8] 183.47.98.168 () {36 vars in 678 bytes} [Fri Jan 9 08:10:03 2026] POST /api/v1/wechat/callback?msg_signature=c70c8e0f75d9e1e8673a812ba65eecc0fffefac0&timestamp=1767917402&nonce=1768910559 => generated 1138 bytes in 330 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: xWHwlcwe4cuIn2AK6nBzQ9q5zV0+ugoj8SRfP7xMMSCVEgHK2c...
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: fe4d3cd3694a6e377ca8a65dba40280dc9567e06
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: fe4d3cd3694a6e377ca8a65dba40280dc9567e06
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:24:28 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=system_status, user=WeiJueSen
2026-01-09 08:24:28 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: system_status, user: WeiJueSen
2026-01-09 08:24:28 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求系统状态
2026-01-09 08:24:28 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 08:24:28 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
{address space usage: 242388992 bytes/231MB} {rss usage: 60600320 bytes/57MB} [pid: 1616322|app: 0|req: 7/9] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 08:24:28 2026] POST /api/v1/wechat/callback?msg_signature=fe4d3cd3694a6e377ca8a65dba40280dc9567e06&timestamp=1767918267&nonce=1768912568 => generated 1138 bytes in 257 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 1)
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: hqqxYVpVNxT1Qj5jt+eIUo3YItaTa0mdudcHd/kc2ov6qd7tVB...
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 0a03ded284404f7444d641fd5d85f6b692f76d42
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 0a03ded284404f7444d641fd5d85f6b692f76d42
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:25:01 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=clear_cache, user=WeiJueSen
2026-01-09 08:25:01 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: clear_cache, user: WeiJueSen
2026-01-09 08:25:01 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求清理缓存
2026-01-09 08:25:01 - gx_gp_monitor.wechat.message_handler - WARNING - 数据库缓存清理失败: cannot import name 'clear_database_cache' from 'gx_gp_monitor.storage.postgresql' (/home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/storage/postgresql.py)
{address space usage: 242388992 bytes/231MB} {rss usage: 60600320 bytes/57MB} [pid: 1616322|app: 0|req: 8/10] 14.116.241.251 () {36 vars in 679 bytes} [Fri Jan 9 08:25:01 2026] POST /api/v1/wechat/callback?msg_signature=0a03ded284404f7444d641fd5d85f6b692f76d42&timestamp=1767918301&nonce=1768654455 => generated 966 bytes in 1 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 08:25:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:34 2026 - gateway "uWSGI http 1" has been buried (pid: 1616325)
Fri Jan 9 08:25:34 2026 - ...gracefully killing workers...
Fri Jan 9 08:25:34 2026 - Gracefully killing worker 1 (pid: 1616321)...
Fri Jan 9 08:25:34 2026 - Gracefully killing worker 2 (pid: 1616322)...
Fri Jan 9 08:25:35 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:25:35 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:25:35 2026 - binary reloading uWSGI...
Fri Jan 9 08:25:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:35 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:25:35 2026 - found fd 3 mapped to socket 0 (127.0.0.1:38137)
Fri Jan 9 08:25:35 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:25:35 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:25:35 2026] ***
Fri Jan 9 08:25:35 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:25:35 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:25:35 2026 - nodename: ubserver
Fri Jan 9 08:25:35 2026 - machine: x86_64
Fri Jan 9 08:25:35 2026 - clock source: unix
Fri Jan 9 08:25:35 2026 - pcre jit disabled
Fri Jan 9 08:25:35 2026 - detected number of CPU cores: 12
Fri Jan 9 08:25:35 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:35 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:25:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:35 2026 - your processes number limit is 61306
Fri Jan 9 08:25:35 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:25:35 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:25:35 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:25:35 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:25:35 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:25:35 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:25:35 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43151 (port auto-assigned) fd 4
Fri Jan 9 08:25:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:35 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:25:35 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:25:35 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:25:35 2026 - Python main interpreter initialized at 0x791842f52d10
Fri Jan 9 08:25:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:35 2026 - python threads support enabled
Fri Jan 9 08:25:35 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:25:35 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:25:35 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:25:35 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:25:36 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:25:36 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:25:36 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x791842f52d10 pid: 1616302 (default app)
Fri Jan 9 08:25:36 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:36 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:36 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:25:36 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:25:36 2026 - spawned uWSGI worker 1 (pid: 1776212, cores: 2)
Fri Jan 9 08:25:36 2026 - spawned uWSGI worker 2 (pid: 1776213, cores: 2)
Fri Jan 9 08:25:36 2026 - spawned uWSGI http 1 (pid: 1776217)
Fri Jan 9 08:25:36 2026 - Python auto-reloader enabled
Fri Jan 9 08:25:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:49 2026 - gateway "uWSGI http 1" has been buried (pid: 1776217)
Fri Jan 9 08:25:49 2026 - ...gracefully killing workers...
Fri Jan 9 08:25:49 2026 - Gracefully killing worker 1 (pid: 1776212)...
Fri Jan 9 08:25:49 2026 - Gracefully killing worker 2 (pid: 1776213)...
Fri Jan 9 08:25:50 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:25:50 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:25:50 2026 - binary reloading uWSGI...
Fri Jan 9 08:25:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:50 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:25:50 2026 - found fd 4 mapped to socket 0 (127.0.0.1:43151)
Fri Jan 9 08:25:50 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:25:50 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:25:50 2026] ***
Fri Jan 9 08:25:50 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:25:50 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:25:50 2026 - nodename: ubserver
Fri Jan 9 08:25:50 2026 - machine: x86_64
Fri Jan 9 08:25:50 2026 - clock source: unix
Fri Jan 9 08:25:50 2026 - pcre jit disabled
Fri Jan 9 08:25:50 2026 - detected number of CPU cores: 12
Fri Jan 9 08:25:50 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:50 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:25:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:25:50 2026 - your processes number limit is 61306
Fri Jan 9 08:25:50 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:25:50 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:25:50 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:25:50 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:25:50 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:25:50 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:25:50 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43709 (port auto-assigned) fd 3
Fri Jan 9 08:25:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:50 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:25:50 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:25:50 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:25:50 2026 - Python main interpreter initialized at 0x7dc283d52d10
Fri Jan 9 08:25:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:50 2026 - python threads support enabled
Fri Jan 9 08:25:50 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:25:50 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:25:50 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:25:50 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:25:50 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:25:50 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:25:50 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7dc283d52d10 pid: 1616302 (default app)
Fri Jan 9 08:25:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:25:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:25:50 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:25:50 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:25:50 2026 - spawned uWSGI worker 1 (pid: 1776419, cores: 2)
Fri Jan 9 08:25:50 2026 - spawned uWSGI worker 2 (pid: 1776422, cores: 2)
Fri Jan 9 08:25:50 2026 - Python auto-reloader enabled
Fri Jan 9 08:25:50 2026 - spawned uWSGI http 1 (pid: 1776425)
Fri Jan 9 08:25:59 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:59 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:25:59 2026 - gateway "uWSGI http 1" has been buried (pid: 1776425)
Fri Jan 9 08:25:59 2026 - ...gracefully killing workers...
Fri Jan 9 08:25:59 2026 - Gracefully killing worker 2 (pid: 1776422)...
Fri Jan 9 08:25:59 2026 - Gracefully killing worker 1 (pid: 1776419)...
Fri Jan 9 08:26:00 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:26:00 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:26:00 2026 - binary reloading uWSGI...
Fri Jan 9 08:26:00 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:00 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:26:00 2026 - found fd 3 mapped to socket 0 (127.0.0.1:43709)
Fri Jan 9 08:26:00 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:26:00 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:26:00 2026] ***
Fri Jan 9 08:26:00 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:26:00 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:26:00 2026 - nodename: ubserver
Fri Jan 9 08:26:00 2026 - machine: x86_64
Fri Jan 9 08:26:00 2026 - clock source: unix
Fri Jan 9 08:26:00 2026 - pcre jit disabled
Fri Jan 9 08:26:00 2026 - detected number of CPU cores: 12
Fri Jan 9 08:26:00 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:00 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:26:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:00 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:00 2026 - your processes number limit is 61306
Fri Jan 9 08:26:00 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:26:00 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:26:00 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:26:00 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:26:00 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:26:00 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:26:00 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:41863 (port auto-assigned) fd 4
Fri Jan 9 08:26:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:00 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:26:00 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:00 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:00 2026 - Python main interpreter initialized at 0x70a3e9552d10
Fri Jan 9 08:26:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:00 2026 - python threads support enabled
Fri Jan 9 08:26:00 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:26:00 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:26:00 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:26:00 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:26:00 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:26:00 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:26:00 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x70a3e9552d10 pid: 1616302 (default app)
Fri Jan 9 08:26:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:00 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:26:00 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:26:00 2026 - spawned uWSGI worker 1 (pid: 1776493, cores: 2)
Fri Jan 9 08:26:00 2026 - spawned uWSGI worker 2 (pid: 1776494, cores: 2)
Fri Jan 9 08:26:00 2026 - spawned uWSGI http 1 (pid: 1776497)
Fri Jan 9 08:26:00 2026 - Python auto-reloader enabled
Fri Jan 9 08:26:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:26:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:26:19 2026 - gateway "uWSGI http 1" has been buried (pid: 1776497)
Fri Jan 9 08:26:19 2026 - ...gracefully killing workers...
Fri Jan 9 08:26:19 2026 - Gracefully killing worker 1 (pid: 1776493)...
Fri Jan 9 08:26:19 2026 - Gracefully killing worker 2 (pid: 1776494)...
Fri Jan 9 08:26:20 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:26:20 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:26:20 2026 - binary reloading uWSGI...
Fri Jan 9 08:26:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:20 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:26:20 2026 - found fd 4 mapped to socket 0 (127.0.0.1:41863)
Fri Jan 9 08:26:20 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:26:20 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:26:20 2026] ***
Fri Jan 9 08:26:20 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:26:20 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:26:20 2026 - nodename: ubserver
Fri Jan 9 08:26:20 2026 - machine: x86_64
Fri Jan 9 08:26:20 2026 - clock source: unix
Fri Jan 9 08:26:20 2026 - pcre jit disabled
Fri Jan 9 08:26:20 2026 - detected number of CPU cores: 12
Fri Jan 9 08:26:20 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:20 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:26:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:20 2026 - your processes number limit is 61306
Fri Jan 9 08:26:20 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:26:20 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:26:20 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:26:20 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:26:20 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:26:20 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:26:20 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40093 (port auto-assigned) fd 3
Fri Jan 9 08:26:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:20 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:26:20 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:20 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:20 2026 - Python main interpreter initialized at 0x74aa13f52d10
Fri Jan 9 08:26:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:20 2026 - python threads support enabled
Fri Jan 9 08:26:20 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:26:20 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:26:20 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:26:20 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:26:20 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:26:20 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:26:20 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x74aa13f52d10 pid: 1616302 (default app)
Fri Jan 9 08:26:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:20 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:26:20 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:26:20 2026 - spawned uWSGI worker 1 (pid: 1776685, cores: 2)
Fri Jan 9 08:26:20 2026 - spawned uWSGI worker 2 (pid: 1776686, cores: 2)
Fri Jan 9 08:26:20 2026 - spawned uWSGI http 1 (pid: 1776689)
Fri Jan 9 08:26:20 2026 - Python auto-reloader enabled
Fri Jan 9 08:26:31 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:26:31 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:26:31 2026 - gateway "uWSGI http 1" has been buried (pid: 1776689)
Fri Jan 9 08:26:31 2026 - ...gracefully killing workers...
Fri Jan 9 08:26:31 2026 - Gracefully killing worker 1 (pid: 1776685)...
Fri Jan 9 08:26:31 2026 - Gracefully killing worker 2 (pid: 1776686)...
Fri Jan 9 08:26:32 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:26:32 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:26:32 2026 - binary reloading uWSGI...
Fri Jan 9 08:26:32 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:32 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:26:32 2026 - found fd 3 mapped to socket 0 (127.0.0.1:40093)
Fri Jan 9 08:26:32 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:26:32 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:26:32 2026] ***
Fri Jan 9 08:26:32 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:26:32 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:26:32 2026 - nodename: ubserver
Fri Jan 9 08:26:32 2026 - machine: x86_64
Fri Jan 9 08:26:32 2026 - clock source: unix
Fri Jan 9 08:26:32 2026 - pcre jit disabled
Fri Jan 9 08:26:32 2026 - detected number of CPU cores: 12
Fri Jan 9 08:26:32 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:32 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:26:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:32 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:26:32 2026 - your processes number limit is 61306
Fri Jan 9 08:26:32 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:26:32 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:26:32 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:26:32 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:26:32 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:26:32 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:26:32 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:36999 (port auto-assigned) fd 4
Fri Jan 9 08:26:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:32 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:26:32 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:32 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:26:32 2026 - Python main interpreter initialized at 0x7cd2f3552d10
Fri Jan 9 08:26:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:32 2026 - python threads support enabled
Fri Jan 9 08:26:32 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:26:32 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:26:32 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:26:32 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:26:32 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:26:32 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:26:32 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7cd2f3552d10 pid: 1616302 (default app)
Fri Jan 9 08:26:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:26:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:26:32 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:26:32 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:26:32 2026 - spawned uWSGI worker 1 (pid: 1776759, cores: 2)
Fri Jan 9 08:26:32 2026 - spawned uWSGI worker 2 (pid: 1776760, cores: 2)
Fri Jan 9 08:26:32 2026 - spawned uWSGI http 1 (pid: 1776765)
Fri Jan 9 08:26:32 2026 - Python auto-reloader enabled
Fri Jan 9 08:28:10 2026 - gateway "uWSGI http 1" has been buried (pid: 1776765)
Fri Jan 9 08:28:10 2026 - ...brutally killing workers...
Fri Jan 9 08:28:11 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:28:11 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:28:11 2026 - binary reloading uWSGI...
Fri Jan 9 08:28:11 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:28:11 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:28:11 2026 - found fd 4 mapped to socket 0 (127.0.0.1:36999)
Fri Jan 9 08:28:11 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:28:11 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:28:11 2026] ***
Fri Jan 9 08:28:11 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:28:11 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:28:11 2026 - nodename: ubserver
Fri Jan 9 08:28:11 2026 - machine: x86_64
Fri Jan 9 08:28:11 2026 - clock source: unix
Fri Jan 9 08:28:11 2026 - pcre jit disabled
Fri Jan 9 08:28:11 2026 - detected number of CPU cores: 12
Fri Jan 9 08:28:11 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:28:11 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:28:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:11 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:28:11 2026 - your processes number limit is 61306
Fri Jan 9 08:28:11 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:28:11 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:28:11 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:28:11 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:28:11 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:28:11 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:28:11 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:41691 (port auto-assigned) fd 3
Fri Jan 9 08:28:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:11 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:28:11 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:28:11 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:28:11 2026 - Python main interpreter initialized at 0x70645f552d10
Fri Jan 9 08:28:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:11 2026 - python threads support enabled
Fri Jan 9 08:28:11 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:28:11 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:28:11 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:28:11 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:28:11 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:28:11 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:28:11 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x70645f552d10 pid: 1616302 (default app)
Fri Jan 9 08:28:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:11 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:28:11 2026 - gracefully (RE)spawned uWSGI master process (pid: 1616302)
Fri Jan 9 08:28:11 2026 - spawned uWSGI worker 1 (pid: 1777277, cores: 2)
Fri Jan 9 08:28:11 2026 - spawned uWSGI worker 2 (pid: 1777278, cores: 2)
Fri Jan 9 08:28:11 2026 - spawned uWSGI http 1 (pid: 1777282)
Fri Jan 9 08:28:11 2026 - Python auto-reloader enabled
Fri Jan 9 08:28:20 2026 - uWSGI worker 1 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:28:20 2026 - uWSGI worker 2 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:28:20 2026 - uWSGI worker 2 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:28:20 2026 - uWSGI worker 1 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:28:20 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:28:20 2026] ***
Fri Jan 9 08:28:20 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:28:20 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:28:20 2026 - nodename: ubserver
Fri Jan 9 08:28:20 2026 - machine: x86_64
Fri Jan 9 08:28:20 2026 - clock source: unix
Fri Jan 9 08:28:20 2026 - pcre jit disabled
Fri Jan 9 08:28:20 2026 - detected number of CPU cores: 12
Fri Jan 9 08:28:20 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:28:20 2026 - writing pidfile to ./uwsgi-wechat.pid
Fri Jan 9 08:28:20 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:28:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:28:20 2026 - your processes number limit is 61306
Fri Jan 9 08:28:20 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:28:20 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:28:20 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:28:20 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:28:20 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:28:20 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Fri Jan 9 08:28:20 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:34359 (port auto-assigned) fd 3
Fri Jan 9 08:28:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:20 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:28:20 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:28:20 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:28:20 2026 - Python main interpreter initialized at 0x7a500b552d10
Fri Jan 9 08:28:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:20 2026 - python threads support enabled
Fri Jan 9 08:28:20 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:28:20 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:28:20 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:28:20 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:28:20 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:28:20 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:28:20 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7a500b552d10 pid: 1777323 (default app)
Fri Jan 9 08:28:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:28:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:28:20 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:28:20 2026 - spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:28:20 2026 - spawned uWSGI worker 1 (pid: 1777366, cores: 2)
Fri Jan 9 08:28:20 2026 - spawned uWSGI worker 2 (pid: 1777369, cores: 2)
Fri Jan 9 08:28:20 2026 - Python auto-reloader enabled
Fri Jan 9 08:28:20 2026 - spawned uWSGI http 1 (pid: 1777371)
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: RXM6iBy1lGhKEHAzzl71zQ7rpp8F43J/HveXh7oBV+Ohnzab4O...
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: cdc12e2bef00f01d987d9ae321d300a1e5c36c12
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: cdc12e2bef00f01d987d9ae321d300a1e5c36c12
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:29:48 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=system_status, user=WeiJueSen
2026-01-09 08:29:48 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: system_status, user: WeiJueSen
2026-01-09 08:29:48 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求系统状态
2026-01-09 08:29:48 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 08:29:48 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 08:29:48 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 08:29:48 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 08:29:48 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 08:29:48 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 08:29:48 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 08:29:48 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 08:29:48 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 08:29:48 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 08:29:48 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 08:29:48 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 08:29:49 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
{address space usage: 236441600 bytes/225MB} {rss usage: 48242688 bytes/46MB} [pid: 1777366|app: 0|req: 1/1] 113.108.92.100 () {36 vars in 679 bytes} [Fri Jan 9 08:29:48 2026] POST /api/v1/wechat/callback?msg_signature=cdc12e2bef00f01d987d9ae321d300a1e5c36c12&timestamp=1767918588&nonce=1768510076 => generated 1094 bytes in 457 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: VYkwtbAIPnpprcyspau+o6woVT+BLSfa9WoVartvZtHggONJ20...
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b3867dab975a717dbadcc5bd891ea3c94a209572
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b3867dab975a717dbadcc5bd891ea3c94a209572
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 08:30:12 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=help_guide, user=WeiJueSen
2026-01-09 08:30:12 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: help_guide, user: WeiJueSen
2026-01-09 08:30:12 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求使用说明
{address space usage: 233619456 bytes/222MB} {rss usage: 38805504 bytes/37MB} [pid: 1777369|app: 0|req: 1/2] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 08:30:12 2026] POST /api/v1/wechat/callback?msg_signature=b3867dab975a717dbadcc5bd891ea3c94a209572&timestamp=1767918612&nonce=1768555491 => generated 2758 bytes in 7 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
Fri Jan 9 08:30:51 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:30:51 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:30:51 2026 - gateway "uWSGI http 1" has been buried (pid: 1777371)
Fri Jan 9 08:30:51 2026 - ...gracefully killing workers...
Fri Jan 9 08:30:51 2026 - Gracefully killing worker 2 (pid: 1777369)...
Fri Jan 9 08:30:51 2026 - Gracefully killing worker 1 (pid: 1777366)...
Fri Jan 9 08:30:52 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:30:52 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:30:52 2026 - binary reloading uWSGI...
Fri Jan 9 08:30:52 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:30:52 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:30:52 2026 - found fd 3 mapped to socket 0 (127.0.0.1:34359)
Fri Jan 9 08:30:52 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:30:52 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:30:52 2026] ***
Fri Jan 9 08:30:52 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:30:52 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:30:52 2026 - nodename: ubserver
Fri Jan 9 08:30:52 2026 - machine: x86_64
Fri Jan 9 08:30:52 2026 - clock source: unix
Fri Jan 9 08:30:52 2026 - pcre jit disabled
Fri Jan 9 08:30:52 2026 - detected number of CPU cores: 12
Fri Jan 9 08:30:52 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:30:52 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:30:52 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:30:52 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:30:52 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:30:52 2026 - your processes number limit is 61306
Fri Jan 9 08:30:52 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:30:52 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:30:52 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:30:52 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:30:52 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:30:52 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:30:52 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:37271 (port auto-assigned) fd 4
Fri Jan 9 08:30:52 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:30:52 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:30:52 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:30:52 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:30:52 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:30:52 2026 - Python main interpreter initialized at 0x7c9573552d10
Fri Jan 9 08:30:52 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:30:52 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:30:52 2026 - python threads support enabled
Fri Jan 9 08:30:52 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:30:52 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:30:52 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:30:52 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:30:52 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:30:52 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:30:52 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7c9573552d10 pid: 1777323 (default app)
Fri Jan 9 08:30:52 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:30:52 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:30:52 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:30:52 2026 - gracefully (RE)spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:30:52 2026 - spawned uWSGI worker 1 (pid: 1778517, cores: 2)
Fri Jan 9 08:30:52 2026 - spawned uWSGI worker 2 (pid: 1778519, cores: 2)
Fri Jan 9 08:30:52 2026 - Python auto-reloader enabled
Fri Jan 9 08:30:52 2026 - spawned uWSGI http 1 (pid: 1778521)
Fri Jan 9 08:40:42 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:40:42 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:40:42 2026 - gateway "uWSGI http 1" has been buried (pid: 1778521)
Fri Jan 9 08:40:42 2026 - ...gracefully killing workers...
Fri Jan 9 08:40:42 2026 - Gracefully killing worker 2 (pid: 1778519)...
Fri Jan 9 08:40:42 2026 - Gracefully killing worker 1 (pid: 1778517)...
Fri Jan 9 08:40:43 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:40:43 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:40:43 2026 - binary reloading uWSGI...
Fri Jan 9 08:40:43 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:40:43 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:40:43 2026 - found fd 4 mapped to socket 0 (127.0.0.1:37271)
Fri Jan 9 08:40:43 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:40:43 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:40:43 2026] ***
Fri Jan 9 08:40:43 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:40:43 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:40:43 2026 - nodename: ubserver
Fri Jan 9 08:40:43 2026 - machine: x86_64
Fri Jan 9 08:40:43 2026 - clock source: unix
Fri Jan 9 08:40:43 2026 - pcre jit disabled
Fri Jan 9 08:40:43 2026 - detected number of CPU cores: 12
Fri Jan 9 08:40:43 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:40:43 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:40:43 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:40:43 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:40:43 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:40:43 2026 - your processes number limit is 61306
Fri Jan 9 08:40:43 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:40:43 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:40:43 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:40:43 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:40:43 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:40:43 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:40:43 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45569 (port auto-assigned) fd 3
Fri Jan 9 08:40:43 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:40:43 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:40:43 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:40:43 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:40:43 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:40:43 2026 - Python main interpreter initialized at 0x7d49f5552d10
Fri Jan 9 08:40:43 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:40:43 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:40:43 2026 - python threads support enabled
Fri Jan 9 08:40:43 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:40:43 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:40:43 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:40:43 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:40:43 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:40:43 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:40:43 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7d49f5552d10 pid: 1777323 (default app)
Fri Jan 9 08:40:43 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:40:43 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:40:43 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:40:43 2026 - gracefully (RE)spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:40:43 2026 - spawned uWSGI worker 1 (pid: 1781557, cores: 2)
Fri Jan 9 08:40:43 2026 - spawned uWSGI worker 2 (pid: 1781558, cores: 2)
Fri Jan 9 08:40:43 2026 - spawned uWSGI http 1 (pid: 1781563)
Fri Jan 9 08:40:43 2026 - Python auto-reloader enabled
Fri Jan 9 08:42:17 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:42:17 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:42:17 2026 - gateway "uWSGI http 1" has been buried (pid: 1781563)
Fri Jan 9 08:42:17 2026 - ...gracefully killing workers...
Fri Jan 9 08:42:17 2026 - Gracefully killing worker 2 (pid: 1781558)...
Fri Jan 9 08:42:17 2026 - Gracefully killing worker 1 (pid: 1781557)...
Fri Jan 9 08:42:18 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:42:18 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:42:18 2026 - binary reloading uWSGI...
Fri Jan 9 08:42:18 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:18 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:42:18 2026 - found fd 3 mapped to socket 0 (127.0.0.1:45569)
Fri Jan 9 08:42:18 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:42:18 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:42:18 2026] ***
Fri Jan 9 08:42:18 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:42:18 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:42:18 2026 - nodename: ubserver
Fri Jan 9 08:42:18 2026 - machine: x86_64
Fri Jan 9 08:42:18 2026 - clock source: unix
Fri Jan 9 08:42:18 2026 - pcre jit disabled
Fri Jan 9 08:42:18 2026 - detected number of CPU cores: 12
Fri Jan 9 08:42:18 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:18 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:42:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:18 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:18 2026 - your processes number limit is 61306
Fri Jan 9 08:42:18 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:42:18 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:42:18 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:42:18 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:42:18 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:42:18 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:42:18 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42537 (port auto-assigned) fd 4
Fri Jan 9 08:42:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:18 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:42:18 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:42:18 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:42:18 2026 - Python main interpreter initialized at 0x7186cfb52d10
Fri Jan 9 08:42:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:18 2026 - python threads support enabled
Fri Jan 9 08:42:18 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:42:18 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:42:18 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:42:18 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:42:18 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:42:18 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:42:18 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7186cfb52d10 pid: 1777323 (default app)
Fri Jan 9 08:42:18 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:18 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:18 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:42:18 2026 - gracefully (RE)spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:42:18 2026 - spawned uWSGI worker 1 (pid: 1782024, cores: 2)
Fri Jan 9 08:42:18 2026 - spawned uWSGI worker 2 (pid: 1782025, cores: 2)
Fri Jan 9 08:42:18 2026 - Python auto-reloader enabled
Fri Jan 9 08:42:18 2026 - spawned uWSGI http 1 (pid: 1782028)
Fri Jan 9 08:42:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:42:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 08:42:58 2026 - gateway "uWSGI http 1" has been buried (pid: 1782028)
Fri Jan 9 08:42:58 2026 - ...gracefully killing workers...
Fri Jan 9 08:42:58 2026 - Gracefully killing worker 1 (pid: 1782024)...
Fri Jan 9 08:42:58 2026 - Gracefully killing worker 2 (pid: 1782025)...
Fri Jan 9 08:42:59 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:42:59 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:42:59 2026 - binary reloading uWSGI...
Fri Jan 9 08:42:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:59 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:42:59 2026 - found fd 4 mapped to socket 0 (127.0.0.1:42537)
Fri Jan 9 08:42:59 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:42:59 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:42:59 2026] ***
Fri Jan 9 08:42:59 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:42:59 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:42:59 2026 - nodename: ubserver
Fri Jan 9 08:42:59 2026 - machine: x86_64
Fri Jan 9 08:42:59 2026 - clock source: unix
Fri Jan 9 08:42:59 2026 - pcre jit disabled
Fri Jan 9 08:42:59 2026 - detected number of CPU cores: 12
Fri Jan 9 08:42:59 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:59 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:42:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:42:59 2026 - your processes number limit is 61306
Fri Jan 9 08:42:59 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:42:59 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:42:59 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:42:59 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:42:59 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:42:59 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:42:59 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:35281 (port auto-assigned) fd 3
Fri Jan 9 08:42:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:59 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:42:59 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:42:59 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:42:59 2026 - Python main interpreter initialized at 0x70ee77f52d10
Fri Jan 9 08:42:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:42:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:42:59 2026 - python threads support enabled
Fri Jan 9 08:42:59 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:42:59 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:42:59 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:42:59 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:43:00 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:43:00 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:43:00 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x70ee77f52d10 pid: 1777323 (default app)
Fri Jan 9 08:43:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:00 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:43:00 2026 - gracefully (RE)spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:43:00 2026 - spawned uWSGI worker 1 (pid: 1782218, cores: 2)
Fri Jan 9 08:43:00 2026 - spawned uWSGI worker 2 (pid: 1782221, cores: 2)
Fri Jan 9 08:43:00 2026 - Python auto-reloader enabled
Fri Jan 9 08:43:00 2026 - spawned uWSGI http 1 (pid: 1782222)
Fri Jan 9 08:43:31 2026 - gateway "uWSGI http 1" has been buried (pid: 1782222)
Fri Jan 9 08:43:31 2026 - ...brutally killing workers...
Fri Jan 9 08:43:32 2026 - worker 1 buried after 1 seconds
Fri Jan 9 08:43:32 2026 - worker 2 buried after 1 seconds
Fri Jan 9 08:43:32 2026 - binary reloading uWSGI...
Fri Jan 9 08:43:32 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:43:32 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 08:43:32 2026 - found fd 3 mapped to socket 0 (127.0.0.1:35281)
Fri Jan 9 08:43:32 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 08:43:32 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:43:32 2026] ***
Fri Jan 9 08:43:32 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:43:32 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:43:32 2026 - nodename: ubserver
Fri Jan 9 08:43:32 2026 - machine: x86_64
Fri Jan 9 08:43:32 2026 - clock source: unix
Fri Jan 9 08:43:32 2026 - pcre jit disabled
Fri Jan 9 08:43:32 2026 - detected number of CPU cores: 12
Fri Jan 9 08:43:32 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:43:32 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:43:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:32 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:43:32 2026 - your processes number limit is 61306
Fri Jan 9 08:43:32 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:43:32 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:43:32 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:43:32 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:43:32 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:43:32 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 08:43:32 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42161 (port auto-assigned) fd 4
Fri Jan 9 08:43:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:32 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:43:32 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:43:32 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:43:32 2026 - Python main interpreter initialized at 0x702810152d10
Fri Jan 9 08:43:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:32 2026 - python threads support enabled
Fri Jan 9 08:43:32 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:43:32 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:43:32 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:43:32 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:43:32 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:43:32 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:43:32 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x702810152d10 pid: 1777323 (default app)
Fri Jan 9 08:43:32 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:32 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:32 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:43:32 2026 - gracefully (RE)spawned uWSGI master process (pid: 1777323)
Fri Jan 9 08:43:32 2026 - spawned uWSGI worker 1 (pid: 1782381, cores: 2)
Fri Jan 9 08:43:32 2026 - spawned uWSGI worker 2 (pid: 1782384, cores: 2)
Fri Jan 9 08:43:32 2026 - Python auto-reloader enabled
Fri Jan 9 08:43:32 2026 - spawned uWSGI http 1 (pid: 1782387)
Fri Jan 9 08:43:41 2026 - uWSGI worker 2 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:43:41 2026 - uWSGI worker 2 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:43:41 2026 - uWSGI worker 1 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:43:41 2026 - uWSGI worker 1 error: the master disconnected from this worker. Shutting down the worker.
Fri Jan 9 08:43:41 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 08:43:41 2026] ***
Fri Jan 9 08:43:41 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 08:43:41 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 08:43:41 2026 - nodename: ubserver
Fri Jan 9 08:43:41 2026 - machine: x86_64
Fri Jan 9 08:43:41 2026 - clock source: unix
Fri Jan 9 08:43:41 2026 - pcre jit disabled
Fri Jan 9 08:43:41 2026 - detected number of CPU cores: 12
Fri Jan 9 08:43:41 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:43:41 2026 - writing pidfile to ./uwsgi-wechat.pid
Fri Jan 9 08:43:41 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 08:43:41 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:41 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:41 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 08:43:41 2026 - your processes number limit is 61306
Fri Jan 9 08:43:41 2026 - your memory page size is 4096 bytes
Fri Jan 9 08:43:41 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 08:43:41 2026 - detected max file descriptor number: 1024
Fri Jan 9 08:43:41 2026 - lock engine: pthread robust mutexes
Fri Jan 9 08:43:41 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 08:43:41 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 4
Fri Jan 9 08:43:41 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:46665 (port auto-assigned) fd 3
Fri Jan 9 08:43:41 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:41 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:41 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 08:43:41 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:43:41 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 08:43:41 2026 - Python main interpreter initialized at 0x741281352d10
Fri Jan 9 08:43:41 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:41 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:41 2026 - python threads support enabled
Fri Jan 9 08:43:41 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 08:43:41 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 08:43:41 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 08:43:41 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 08:43:41 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 08:43:41 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 08:43:41 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x741281352d10 pid: 1782404 (default app)
Fri Jan 9 08:43:41 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 08:43:41 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 08:43:41 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 08:43:41 2026 - spawned uWSGI master process (pid: 1782404)
Fri Jan 9 08:43:41 2026 - spawned uWSGI worker 1 (pid: 1782423, cores: 2)
Fri Jan 9 08:43:41 2026 - spawned uWSGI worker 2 (pid: 1782424, cores: 2)
Fri Jan 9 08:43:41 2026 - spawned uWSGI http 1 (pid: 1782428)
Fri Jan 9 08:43:41 2026 - Python auto-reloader enabled
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: S85Mv12UhBqhnCoEyCf2GdrP0uHiDB61RmzIcmMqk5vRLfhDC7...
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:13:20 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:13:20 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:13:20 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:13:20 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 09:13:20 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 09:13:20 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 09:13:20 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 09:13:20 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 09:13:20 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 09:13:20 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 09:13:20 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 09:13:20 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 09:13:20 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:13:20 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:13:20 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: S85Mv12UhBqhnCoEyCf2GdrP0uHiDB61RmzIcmMqk5vRLfhDC7...
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:13:25 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:13:25 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:13:25 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:13:25 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:13:25 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:13:25 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: S85Mv12UhBqhnCoEyCf2GdrP0uHiDB61RmzIcmMqk5vRLfhDC7...
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 05a3dac6f360b335ba50de40004324f8668f476b
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:13:30 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:13:30 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:13:30 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:13:30 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 09:13:30 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 09:13:30 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 09:13:30 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 09:13:30 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 09:13:30 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 09:13:30 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 09:13:30 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 09:13:30 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 09:13:30 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:13:30 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:13:30 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: cRRv0gPY6is3KD1jEwXBytUOrRdzu3Db4yWqdjO1eZIZ1lAL+k...
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: e022be893dc3976c41438b805a0559df33dbded5
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: e022be893dc3976c41438b805a0559df33dbded5
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 09:13:49 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=system_status, user=WeiJueSen
2026-01-09 09:13:49 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: system_status, user: WeiJueSen
2026-01-09 09:13:49 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求系统状态
2026-01-09 09:13:49 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 09:13:49 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 09:13:49 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 09:13:49 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
{address space usage: 247619584 bytes/236MB} {rss usage: 60739584 bytes/57MB} [pid: 1782423|app: 0|req: 2/1] 14.116.241.251 () {36 vars in 679 bytes} [Fri Jan 9 09:13:49 2026] POST /api/v1/wechat/callback?msg_signature=e022be893dc3976c41438b805a0559df33dbded5&timestamp=1767921229&nonce=1768316751 => generated 798 bytes in 250 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 09:13:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:50 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.49秒
2026-01-09 09:13:50 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:13:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:13:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:13:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:13:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:13:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:13:51 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:13:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:13:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:13:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:13:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 09:13:52 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:13:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:53 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:13:53 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:13:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:53 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-09 09:13:53 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:13:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:53 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:13:53 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:13:53 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:13:53 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:13:53 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 63 条公告
2026-01-09 09:13:53 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 63 -> 0 条公告
2026-01-09 09:13:53 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:13:53 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:13:53 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:13:53 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 63, 'date_filtered': 1237, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 254005248 bytes/242MB} {rss usage: 71413760 bytes/68MB} [pid: 1782424|app: 0|req: 2/2] 113.108.92.100 () {36 vars in 678 bytes} [Fri Jan 9 09:13:20 2026] POST /api/v1/wechat/callback?msg_signature=05a3dac6f360b335ba50de40004324f8668f476b&timestamp=1767921199&nonce=1768905689 => generated 798 bytes in 33402 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 09:13:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.38秒
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:13:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:13:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:13:55 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:13:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:13:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:13:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:13:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.35秒
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:13:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:13:56 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:13:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:13:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:13:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:13:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:13:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:13:57 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:13:57 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:13:57 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:13:57 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:13:57 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 63 条公告
2026-01-09 09:13:57 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 63 -> 0 条公告
2026-01-09 09:13:57 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:13:57 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:13:57 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:13:57 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 63, 'date_filtered': 1237, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 243519488 bytes/232MB} {rss usage: 61194240 bytes/58MB} [pid: 1782424|app: 0|req: 2/3] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 09:13:25 2026] POST /api/v1/wechat/callback?msg_signature=05a3dac6f360b335ba50de40004324f8668f476b&timestamp=1767921199&nonce=1768905689 => generated 798 bytes in 32920 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 09:14:00 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:00 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.40秒
2026-01-09 09:14:00 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:14:00 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:00 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:00 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:14:01 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:14:01 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:14:01 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.30秒
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:14:01 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:14:01 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:14:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.37秒
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:14:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:14:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:14:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:14:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 09:14:02 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:14:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:03 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.14秒
2026-01-09 09:14:03 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:14:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:03 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:03 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:14:03 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:14:03 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:14:03 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 63 条公告
2026-01-09 09:14:03 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 63 -> 0 条公告
2026-01-09 09:14:03 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:14:03 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:14:03 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:14:03 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 63, 'date_filtered': 1237, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 241307648 bytes/230MB} {rss usage: 54820864 bytes/52MB} [pid: 1782423|app: 0|req: 2/4] 106.55.227.187 () {36 vars in 679 bytes} [Fri Jan 9 09:13:30 2026] POST /api/v1/wechat/callback?msg_signature=05a3dac6f360b335ba50de40004324f8668f476b&timestamp=1767921199&nonce=1768905689 => generated 798 bytes in 33207 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: gyx7vxH2zqMjazNfk20XsqoWAPeraaE5WmiJ8W2KXSNI9Nm0eA...
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 2f7b8f2f76bd50a36fbd191142f5ff1e3803157e
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 2f7b8f2f76bd50a36fbd191142f5ff1e3803157e
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 09:14:09 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=keyword_search, user=WeiJueSen
2026-01-09 09:14:09 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: keyword_search, user: WeiJueSen
2026-01-09 09:14:09 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 触发关键词搜索菜单
{address space usage: 243519488 bytes/232MB} {rss usage: 61194240 bytes/58MB} [pid: 1782424|app: 0|req: 3/5] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 09:14:09 2026] POST /api/v1/wechat/callback?msg_signature=2f7b8f2f76bd50a36fbd191142f5ff1e3803157e&timestamp=1767921249&nonce=1767999424 => generated 1054 bytes in 0 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: mysaThIKeH57rqN/s+0oiaicH1gDxV8MkDM2SIOVR4luy0quyh...
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:14:17 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:14:17 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:14:17 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:14:17 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:14:17 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:14:17 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: mysaThIKeH57rqN/s+0oiaicH1gDxV8MkDM2SIOVR4luy0quyh...
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:14:22 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:14:22 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:14:22 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:14:22 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:14:22 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:14:22 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: mp1j++4grFMsPYo7YXgXOf1C52HWtxx6qWCHvAyMy1HL8SBUqf...
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 501bf3b1b00e3662707a0775828f2eb273c49efe
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 501bf3b1b00e3662707a0775828f2eb273c49efe
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=crawl_now, user=WeiJueSen
2026-01-09 09:14:27 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: crawl_now, user: WeiJueSen
2026-01-09 09:14:27 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 触发立即搜索
2026-01-09 09:14:27 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: False)
2026-01-09 09:14:27 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: mysaThIKeH57rqN/s+0oiaicH1gDxV8MkDM2SIOVR4luy0quyh...
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 09:14:27 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 09:14:27 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 09:14:27 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 09:14:27 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 09:14:27 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 09:14:27 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.40秒
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:14:27 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:27 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:14:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:14:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:14:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:14:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:14:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.35秒
2026-01-09 09:14:28 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:14:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:14:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:14:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:14:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:14:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:29 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:14:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:30 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:30 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:14:30 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-09 09:14:30 - gx_gp_monitor.main - INFO - 筛选出 1300 条新公告
2026-01-09 09:14:30 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-09 09:14:30 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-09 09:14:30 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-09 09:14:30 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:14:30 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-09 09:14:30 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1300, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
{address space usage: 252985344 bytes/241MB} {rss usage: 71553024 bytes/68MB} [pid: 1782424|app: 0|req: 5/6] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 09:14:27 2026] POST /api/v1/wechat/callback?msg_signature=501bf3b1b00e3662707a0775828f2eb273c49efe&timestamp=1767921267&nonce=1768019490 => generated 754 bytes in 3328 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 09:14:47 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:47 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.54秒
2026-01-09 09:14:47 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:14:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:14:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:14:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:14:48 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:14:48 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:14:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:14:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.38秒
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:14:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:14:49 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:49 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:14:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:14:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:14:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:14:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:50 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:14:50 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:14:50 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:14:50 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:14:50 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 66 条公告
2026-01-09 09:14:50 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 66 -> 0 条公告
2026-01-09 09:14:50 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:14:50 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:14:50 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:14:50 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 66, 'date_filtered': 1234, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 247742464 bytes/236MB} {rss usage: 66420736 bytes/63MB} [pid: 1782424|app: 0|req: 5/7] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 09:14:17 2026] POST /api/v1/wechat/callback?msg_signature=204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa&timestamp=1767921257&nonce=1768264184 => generated 798 bytes in 33167 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 09:14:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.55秒
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:14:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:14:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:14:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:14:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:14:53 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:14:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:14:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.39秒
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:14:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:14:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 09:14:54 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:14:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:14:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:14:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:14:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:55 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:55 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:14:55 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:14:55 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:14:55 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 66 条公告
2026-01-09 09:14:55 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 66 -> 0 条公告
2026-01-09 09:14:55 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:14:55 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:14:55 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:14:55 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 66, 'date_filtered': 1234, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 253407232 bytes/241MB} {rss usage: 72110080 bytes/68MB} [pid: 1782423|app: 0|req: 4/8] 106.55.201.217 () {36 vars in 679 bytes} [Fri Jan 9 09:14:22 2026] POST /api/v1/wechat/callback?msg_signature=204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa&timestamp=1767921257&nonce=1768264184 => generated 798 bytes in 33282 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 09:14:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:57 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.37秒
2026-01-09 09:14:57 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 09:14:58 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 09:14:58 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 09:14:58 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 09:14:58 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 09:14:58 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 09:14:58 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 09:14:59 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.41秒
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 09:14:59 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 09:14:59 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 09:14:59 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:14:59 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 09:15:00 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:15:00 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 09:15:00 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 09:15:00 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:15:00 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 09:15:00 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 09:15:00 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 09:15:00 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 09:15:00 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 09:15:00 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 09:15:00 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 09:15:00 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 66 条公告
2026-01-09 09:15:00 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 66 -> 0 条公告
2026-01-09 09:15:00 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 09:15:00 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 09:15:00 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 09:15:00 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 66, 'date_filtered': 1234, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 243441664 bytes/232MB} {rss usage: 62099456 bytes/59MB} [pid: 1782423|app: 0|req: 4/9] 106.55.227.187 () {36 vars in 678 bytes} [Fri Jan 9 09:14:27 2026] POST /api/v1/wechat/callback?msg_signature=204c42bde1a4e8aad7b3d4f5b2ef8c3145b538fa&timestamp=1767921257&nonce=1768264184 => generated 798 bytes in 33163 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 10:01:03 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:03 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:03 2026 - gateway "uWSGI http 1" has been buried (pid: 1782428)
Fri Jan 9 10:01:03 2026 - ...gracefully killing workers...
Fri Jan 9 10:01:03 2026 - Gracefully killing worker 1 (pid: 1782423)...
Fri Jan 9 10:01:03 2026 - Gracefully killing worker 2 (pid: 1782424)...
Fri Jan 9 10:01:04 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:01:04 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:01:04 2026 - binary reloading uWSGI...
Fri Jan 9 10:01:04 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:04 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:01:04 2026 - found fd 3 mapped to socket 0 (127.0.0.1:46665)
Fri Jan 9 10:01:04 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:01:04 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:01:04 2026] ***
Fri Jan 9 10:01:04 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:01:04 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:01:04 2026 - nodename: ubserver
Fri Jan 9 10:01:04 2026 - machine: x86_64
Fri Jan 9 10:01:04 2026 - clock source: unix
Fri Jan 9 10:01:04 2026 - pcre jit disabled
Fri Jan 9 10:01:04 2026 - detected number of CPU cores: 12
Fri Jan 9 10:01:04 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:04 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:01:04 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:04 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:04 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:04 2026 - your processes number limit is 61306
Fri Jan 9 10:01:04 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:01:04 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:01:04 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:01:04 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:01:04 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:01:04 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:01:04 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40683 (port auto-assigned) fd 4
Fri Jan 9 10:01:04 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:04 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:04 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:01:04 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:04 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:04 2026 - Python main interpreter initialized at 0x7dd050352d10
Fri Jan 9 10:01:04 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:04 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:04 2026 - python threads support enabled
Fri Jan 9 10:01:04 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:01:04 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:01:04 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:01:04 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:01:05 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:01:05 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:01:05 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7dd050352d10 pid: 1782404 (default app)
Fri Jan 9 10:01:05 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:05 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:05 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:01:05 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:01:05 2026 - spawned uWSGI worker 1 (pid: 1807020, cores: 2)
Fri Jan 9 10:01:05 2026 - spawned uWSGI worker 2 (pid: 1807023, cores: 2)
Fri Jan 9 10:01:05 2026 - Python auto-reloader enabled
Fri Jan 9 10:01:05 2026 - spawned uWSGI http 1 (pid: 1807025)
Fri Jan 9 10:01:13 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:13 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:13 2026 - gateway "uWSGI http 1" has been buried (pid: 1807025)
Fri Jan 9 10:01:13 2026 - ...gracefully killing workers...
Fri Jan 9 10:01:13 2026 - Gracefully killing worker 1 (pid: 1807020)...
Fri Jan 9 10:01:13 2026 - Gracefully killing worker 2 (pid: 1807023)...
Fri Jan 9 10:01:14 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:01:14 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:01:14 2026 - binary reloading uWSGI...
Fri Jan 9 10:01:14 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:14 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:01:14 2026 - found fd 4 mapped to socket 0 (127.0.0.1:40683)
Fri Jan 9 10:01:14 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:01:14 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:01:14 2026] ***
Fri Jan 9 10:01:14 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:01:14 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:01:14 2026 - nodename: ubserver
Fri Jan 9 10:01:14 2026 - machine: x86_64
Fri Jan 9 10:01:14 2026 - clock source: unix
Fri Jan 9 10:01:14 2026 - pcre jit disabled
Fri Jan 9 10:01:14 2026 - detected number of CPU cores: 12
Fri Jan 9 10:01:14 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:14 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:01:14 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:14 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:14 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:14 2026 - your processes number limit is 61306
Fri Jan 9 10:01:14 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:01:14 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:01:14 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:01:14 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:01:14 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:01:14 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:01:14 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:44999 (port auto-assigned) fd 3
Fri Jan 9 10:01:14 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:14 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:14 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:01:14 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:14 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:14 2026 - Python main interpreter initialized at 0x7eae0ff52d10
Fri Jan 9 10:01:14 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:14 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:14 2026 - python threads support enabled
Fri Jan 9 10:01:14 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:01:14 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:01:14 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:01:14 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:01:14 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:01:14 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:01:14 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7eae0ff52d10 pid: 1782404 (default app)
Fri Jan 9 10:01:14 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:14 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:14 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:01:14 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:01:14 2026 - spawned uWSGI worker 1 (pid: 1807115, cores: 2)
Fri Jan 9 10:01:14 2026 - spawned uWSGI worker 2 (pid: 1807118, cores: 2)
Fri Jan 9 10:01:14 2026 - Python auto-reloader enabled
Fri Jan 9 10:01:14 2026 - spawned uWSGI http 1 (pid: 1807121)
Fri Jan 9 10:01:29 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:29 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:01:29 2026 - gateway "uWSGI http 1" has been buried (pid: 1807121)
Fri Jan 9 10:01:29 2026 - ...gracefully killing workers...
Fri Jan 9 10:01:29 2026 - Gracefully killing worker 2 (pid: 1807118)...
Fri Jan 9 10:01:29 2026 - Gracefully killing worker 1 (pid: 1807115)...
Fri Jan 9 10:01:30 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:01:30 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:01:30 2026 - binary reloading uWSGI...
Fri Jan 9 10:01:30 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:30 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:01:30 2026 - found fd 3 mapped to socket 0 (127.0.0.1:44999)
Fri Jan 9 10:01:30 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:01:30 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:01:30 2026] ***
Fri Jan 9 10:01:30 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:01:30 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:01:30 2026 - nodename: ubserver
Fri Jan 9 10:01:30 2026 - machine: x86_64
Fri Jan 9 10:01:30 2026 - clock source: unix
Fri Jan 9 10:01:30 2026 - pcre jit disabled
Fri Jan 9 10:01:30 2026 - detected number of CPU cores: 12
Fri Jan 9 10:01:30 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:30 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:01:30 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:30 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:30 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:01:30 2026 - your processes number limit is 61306
Fri Jan 9 10:01:30 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:01:30 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:01:30 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:01:30 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:01:30 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:01:30 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:01:30 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:46169 (port auto-assigned) fd 4
Fri Jan 9 10:01:30 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:30 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:30 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:01:30 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:30 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:01:30 2026 - Python main interpreter initialized at 0x7a0e7a752d10
Fri Jan 9 10:01:30 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:30 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:30 2026 - python threads support enabled
Fri Jan 9 10:01:30 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:01:30 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:01:30 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:01:30 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:01:30 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:01:30 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:01:30 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7a0e7a752d10 pid: 1782404 (default app)
Fri Jan 9 10:01:30 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:01:30 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:01:30 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:01:30 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:01:30 2026 - spawned uWSGI worker 1 (pid: 1807173, cores: 2)
Fri Jan 9 10:01:30 2026 - spawned uWSGI worker 2 (pid: 1807174, cores: 2)
Fri Jan 9 10:01:30 2026 - spawned uWSGI http 1 (pid: 1807177)
Fri Jan 9 10:01:30 2026 - Python auto-reloader enabled
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: fl+xWhqaMMamwSp+ChWaJEvMtidFRZHUX4thfSYmtYqGtoWwkg...
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:02:17 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:02:17 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:02:17 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:02:17 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:02:17 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:02:17 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:02:17 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:02:18 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:02:18 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:02:18 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:02:18 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:02:18 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:02:18 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:02:18 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:02:18 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: fl+xWhqaMMamwSp+ChWaJEvMtidFRZHUX4thfSYmtYqGtoWwkg...
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:02:22 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:02:22 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:02:22 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:02:22 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:02:22 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:02:22 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:02:23 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:02:23 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:02:23 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:02:23 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:02:23 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:02:23 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:02:23 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:02:23 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:02:23 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: fl+xWhqaMMamwSp+ChWaJEvMtidFRZHUX4thfSYmtYqGtoWwkg...
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 84c30ad0c256e1dc1766b83a7afdcc9e2452102b
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:02:27 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:02:27 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:02:27 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:02:27 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:02:27 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:02:27 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:02:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.39秒
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:02:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:02:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 10:02:28 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:02:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:02:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:02:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:02:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.40秒
2026-01-09 10:02:29 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:02:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:02:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:02:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:02:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:02:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:02:30 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:02:31 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:31 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:02:31 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:02:31 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:02:31 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:02:31 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 134 条公告
2026-01-09 10:02:31 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 134 -> 2 条公告
2026-01-09 10:02:31 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:02:31 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:02:31 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:02:31 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 132, 'date_filtered': 1166, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 2, 29, 544509), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 2, 29, 948741), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 250855424 bytes/239MB} {rss usage: 68419584 bytes/65MB} [pid: 1807174|app: 0|req: 2/1] 112.53.2.93 () {36 vars in 676 bytes} [Fri Jan 9 10:02:27 2026] POST /api/v1/wechat/callback?msg_signature=84c30ad0c256e1dc1766b83a7afdcc9e2452102b&timestamp=1767924137&nonce=1768656856 => generated 710 bytes in 3221 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
Fri Jan 9 10:02:47 2026 - *** HARAKIRI ON WORKER 1 (pid: 1807173, try: 1, graceful: yes) ***
Fri Jan 9 10:02:47 2026 - HARAKIRI !!! worker 1 status !!!
Fri Jan 9 10:02:47 2026 - HARAKIRI [core 0] 183.47.98.227 - POST /api/v1/wechat/callback?msg_signature=84c30ad0c256e1dc1766b83a7afdcc9e2452102b&timestamp=1767924137&nonce=1768656856 since 1767924137
Fri Jan 9 10:02:47 2026 - HARAKIRI !!! end of worker 1 status !!!
Fri Jan 9 10:02:47 2026 - HARAKIRI triggered by worker 1 core 0 !!!
Fri Jan 9 10:02:48 2026 - DAMN ! worker 1 (pid: 1807173) died, killed by signal 9 :( trying respawn ...
Fri Jan 9 10:02:48 2026 - Respawned uWSGI worker 1 (new pid: 1807577)
Fri Jan 9 10:02:48 2026 - Python auto-reloader enabled
2026-01-09 10:02:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.41秒
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:02:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:02:53 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:02:53 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:02:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:54 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 10:02:54 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:02:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.89秒
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:02:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:02:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.42秒
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:02:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:02:55 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:02:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:02:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:02:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:02:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.29秒
2026-01-09 10:02:56 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:02:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:02:57 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:02:57 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:02:57 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:02:57 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:02:57 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 135 条公告
2026-01-09 10:02:57 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 135 -> 2 条公告
2026-01-09 10:02:57 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:02:57 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:02:57 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:02:57 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 133, 'date_filtered': 1165, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 2, 55, 251692), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 2, 55, 671160), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 243552256 bytes/232MB} {rss usage: 61341696 bytes/58MB} [pid: 1807174|app: 0|req: 2/2] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 10:02:22 2026] POST /api/v1/wechat/callback?msg_signature=84c30ad0c256e1dc1766b83a7afdcc9e2452102b&timestamp=1767924137&nonce=1768656856 => generated 710 bytes in 34214 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 5DXzoSk72rLPjWkQPcghu1KqCusBzSYPZGb4sg1eEU8I08mw4c...
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 545f8abd520fa65851b3da066d1d47be9c61b45c
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 545f8abd520fa65851b3da066d1d47be9c61b45c
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:09:36 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 10:09:36 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 10:09:36 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 10:09:36 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:09:37 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:09:37 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:09:37 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 5DXzoSk72rLPjWkQPcghu1KqCusBzSYPZGb4sg1eEU8I08mw4c...
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 545f8abd520fa65851b3da066d1d47be9c61b45c
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 545f8abd520fa65851b3da066d1d47be9c61b45c
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:09:41 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 10:09:41 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 10:09:41 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 10:09:41 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:09:41 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:09:41 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:09:42 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:09:42 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:09:42 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:09:42 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:09:42 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:09:42 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:09:42 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:09:42 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:09:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.37秒
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:09:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:09:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:09:42 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:09:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:09:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:09:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:09:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.32秒
2026-01-09 10:09:43 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:09:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:09:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:09:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:09:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:09:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:09:44 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:09:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:09:45 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:09:45 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:09:45 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:09:45 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:09:45 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 147 条公告
2026-01-09 10:09:45 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 147 -> 0 条公告
2026-01-09 10:09:45 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 10:09:45 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 10:09:45 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:09:45 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 147, 'date_filtered': 1153, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 240259072 bytes/229MB} {rss usage: 52899840 bytes/50MB} [pid: 1807577|app: 0|req: 2/3] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 10:09:41 2026] POST /api/v1/wechat/callback?msg_signature=545f8abd520fa65851b3da066d1d47be9c61b45c&timestamp=1767924576&nonce=1768748800 => generated 798 bytes in 3164 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: EV/PxbQk0Wr980DlO57RfvBpRIvjlxPWion7LkljkQDVheF4pF...
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 970dc8e6b91fb5479eb69edcabd6f966f6225465
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 970dc8e6b91fb5479eb69edcabd6f966f6225465
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 10:09:57 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=latest_news, user=WeiJueSen
2026-01-09 10:09:57 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: latest_news, user: WeiJueSen
2026-01-09 10:09:57 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求最新公告
{address space usage: 254078976 bytes/242MB} {rss usage: 71958528 bytes/68MB} [pid: 1807174|app: 0|req: 4/4] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 10:09:57 2026] POST /api/v1/wechat/callback?msg_signature=970dc8e6b91fb5479eb69edcabd6f966f6225465&timestamp=1767924597&nonce=1767910694 => generated 343198 bytes in 32 msecs (HTTP/1.1 200) 2 headers in 83 bytes (1 switches on core 0)
2026-01-09 10:10:07 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:07 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.46秒
2026-01-09 10:10:07 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:10:07 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:07 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 10:10:07 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:10:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:10:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:10:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:10:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:10:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.32秒
2026-01-09 10:10:08 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:10:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:10:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:10:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:10:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:10:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:10:09 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:10:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:10:10 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:10:10 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:10:10 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:10:10 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:10:10 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 149 条公告
2026-01-09 10:10:10 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 149 -> 0 条公告
2026-01-09 10:10:10 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 0 -> 0 条公告
2026-01-09 10:10:10 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-09 10:10:10 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:10:10 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': False, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 149, 'date_filtered': 1151, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': []}
{address space usage: 247787520 bytes/236MB} {rss usage: 60436480 bytes/57MB} [pid: 1807174|app: 0|req: 4/5] 14.116.241.251 () {36 vars in 679 bytes} [Fri Jan 9 10:09:36 2026] POST /api/v1/wechat/callback?msg_signature=545f8abd520fa65851b3da066d1d47be9c61b45c&timestamp=1767924576&nonce=1768748800 => generated 798 bytes in 33166 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 7oYpd6+5fsif46fnY3VTPqPcdhC2dlaybw3TzI3H44K2DFDpGL...
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 0cb188a04afb33504e72c7cad29ac0e1050a5d49
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 0cb188a04afb33504e72c7cad29ac0e1050a5d49
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 10:25:42 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=today_stats, user=WeiJueSen
2026-01-09 10:25:42 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: today_stats, user: WeiJueSen
2026-01-09 10:25:42 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日统计
{address space usage: 240259072 bytes/229MB} {rss usage: 52899840 bytes/50MB} [pid: 1807577|app: 0|req: 3/6] 183.47.98.168 () {36 vars in 678 bytes} [Fri Jan 9 10:25:42 2026] POST /api/v1/wechat/callback?msg_signature=0cb188a04afb33504e72c7cad29ac0e1050a5d49&timestamp=1767925542&nonce=1768148594 => generated 966 bytes in 5 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: zEWl1m4Dcc4egm7eYKtlGk5Qxl/3qanWwWJBr1lrnBUigFykbr...
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 79e58abff8031c45f7d7639552e7e693239370b0
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 79e58abff8031c45f7d7639552e7e693239370b0
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:26:11 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:26:11 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:26:11 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:26:11 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:26:11 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:26:11 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:26:11 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:26:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.52秒
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:26:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:26:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:26:12 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:26:12 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:26:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:26:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:26:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.33秒
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:26:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:26:13 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:26:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:26:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:26:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:26:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:26:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:26:14 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:26:14 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:26:14 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:26:14 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:26:14 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 175 条公告
2026-01-09 10:26:14 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 175 -> 2 条公告
2026-01-09 10:26:14 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:26:14 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:26:14 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:26:14 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 173, 'date_filtered': 1125, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 26, 13, 304523), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 26, 13, 633593), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 248066048 bytes/236MB} {rss usage: 61984768 bytes/59MB} [pid: 1807174|app: 0|req: 5/7] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 10:26:11 2026] POST /api/v1/wechat/callback?msg_signature=79e58abff8031c45f7d7639552e7e693239370b0&timestamp=1767925571&nonce=1768415184 => generated 710 bytes in 3234 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 10:26:39 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:26:39 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:26:39 2026 - gateway "uWSGI http 1" has been buried (pid: 1807177)
Fri Jan 9 10:26:39 2026 - ...gracefully killing workers...
Fri Jan 9 10:26:39 2026 - Gracefully killing worker 2 (pid: 1807174)...
Fri Jan 9 10:26:39 2026 - Gracefully killing worker 1 (pid: 1807577)...
Fri Jan 9 10:26:40 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:26:40 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:26:40 2026 - binary reloading uWSGI...
Fri Jan 9 10:26:40 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:40 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:26:40 2026 - found fd 4 mapped to socket 0 (127.0.0.1:46169)
Fri Jan 9 10:26:40 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:26:40 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:26:40 2026] ***
Fri Jan 9 10:26:40 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:26:40 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:26:40 2026 - nodename: ubserver
Fri Jan 9 10:26:40 2026 - machine: x86_64
Fri Jan 9 10:26:40 2026 - clock source: unix
Fri Jan 9 10:26:40 2026 - pcre jit disabled
Fri Jan 9 10:26:40 2026 - detected number of CPU cores: 12
Fri Jan 9 10:26:40 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:40 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:26:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:40 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:40 2026 - your processes number limit is 61306
Fri Jan 9 10:26:40 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:26:40 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:26:40 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:26:40 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:26:40 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:26:40 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:26:40 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:33603 (port auto-assigned) fd 3
Fri Jan 9 10:26:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:40 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:26:40 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:26:40 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:26:40 2026 - Python main interpreter initialized at 0x7ff54c352d10
Fri Jan 9 10:26:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:40 2026 - python threads support enabled
Fri Jan 9 10:26:40 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:26:40 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:26:40 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:26:40 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:26:40 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:26:40 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:26:40 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7ff54c352d10 pid: 1782404 (default app)
Fri Jan 9 10:26:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:40 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:26:40 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:26:40 2026 - spawned uWSGI worker 1 (pid: 1815128, cores: 2)
Fri Jan 9 10:26:40 2026 - spawned uWSGI worker 2 (pid: 1815129, cores: 2)
Fri Jan 9 10:26:40 2026 - spawned uWSGI http 1 (pid: 1815134)
Fri Jan 9 10:26:40 2026 - Python auto-reloader enabled
Fri Jan 9 10:26:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:26:58 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:26:58 2026 - gateway "uWSGI http 1" has been buried (pid: 1815134)
Fri Jan 9 10:26:58 2026 - ...gracefully killing workers...
Fri Jan 9 10:26:58 2026 - Gracefully killing worker 1 (pid: 1815128)...
Fri Jan 9 10:26:58 2026 - Gracefully killing worker 2 (pid: 1815129)...
Fri Jan 9 10:26:59 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:26:59 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:26:59 2026 - binary reloading uWSGI...
Fri Jan 9 10:26:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:59 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:26:59 2026 - found fd 3 mapped to socket 0 (127.0.0.1:33603)
Fri Jan 9 10:26:59 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:26:59 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:26:59 2026] ***
Fri Jan 9 10:26:59 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:26:59 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:26:59 2026 - nodename: ubserver
Fri Jan 9 10:26:59 2026 - machine: x86_64
Fri Jan 9 10:26:59 2026 - clock source: unix
Fri Jan 9 10:26:59 2026 - pcre jit disabled
Fri Jan 9 10:26:59 2026 - detected number of CPU cores: 12
Fri Jan 9 10:26:59 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:59 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:26:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:59 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:26:59 2026 - your processes number limit is 61306
Fri Jan 9 10:26:59 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:26:59 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:26:59 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:26:59 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:26:59 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:26:59 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:26:59 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:34087 (port auto-assigned) fd 4
Fri Jan 9 10:26:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:59 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:26:59 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:26:59 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:26:59 2026 - Python main interpreter initialized at 0x70eb6dd52d10
Fri Jan 9 10:26:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:59 2026 - python threads support enabled
Fri Jan 9 10:26:59 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:26:59 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:26:59 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:26:59 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:26:59 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:26:59 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:26:59 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x70eb6dd52d10 pid: 1782404 (default app)
Fri Jan 9 10:26:59 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:26:59 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:26:59 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:26:59 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:26:59 2026 - spawned uWSGI worker 1 (pid: 1815194, cores: 2)
Fri Jan 9 10:26:59 2026 - spawned uWSGI worker 2 (pid: 1815197, cores: 2)
Fri Jan 9 10:26:59 2026 - spawned uWSGI http 1 (pid: 1815198)
Fri Jan 9 10:26:59 2026 - Python auto-reloader enabled
Fri Jan 9 10:27:10 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:27:10 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:27:10 2026 - gateway "uWSGI http 1" has been buried (pid: 1815198)
Fri Jan 9 10:27:10 2026 - ...gracefully killing workers...
Fri Jan 9 10:27:10 2026 - Gracefully killing worker 1 (pid: 1815194)...
Fri Jan 9 10:27:10 2026 - Gracefully killing worker 2 (pid: 1815197)...
Fri Jan 9 10:27:11 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:27:11 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:27:11 2026 - binary reloading uWSGI...
Fri Jan 9 10:27:11 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:11 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:27:11 2026 - found fd 4 mapped to socket 0 (127.0.0.1:34087)
Fri Jan 9 10:27:11 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:27:11 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:27:11 2026] ***
Fri Jan 9 10:27:11 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:27:11 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:27:11 2026 - nodename: ubserver
Fri Jan 9 10:27:11 2026 - machine: x86_64
Fri Jan 9 10:27:11 2026 - clock source: unix
Fri Jan 9 10:27:11 2026 - pcre jit disabled
Fri Jan 9 10:27:11 2026 - detected number of CPU cores: 12
Fri Jan 9 10:27:11 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:11 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:27:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:11 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:11 2026 - your processes number limit is 61306
Fri Jan 9 10:27:11 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:27:11 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:27:11 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:27:11 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:27:11 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:27:11 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:27:11 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:34323 (port auto-assigned) fd 3
Fri Jan 9 10:27:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:11 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:27:11 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:27:11 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:27:11 2026 - Python main interpreter initialized at 0x75f740b52d10
Fri Jan 9 10:27:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:11 2026 - python threads support enabled
Fri Jan 9 10:27:11 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:27:11 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:27:11 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:27:11 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:27:11 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:27:11 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:27:11 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x75f740b52d10 pid: 1782404 (default app)
Fri Jan 9 10:27:11 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:11 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:11 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:27:11 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:27:11 2026 - spawned uWSGI worker 1 (pid: 1815286, cores: 2)
Fri Jan 9 10:27:11 2026 - spawned uWSGI worker 2 (pid: 1815287, cores: 2)
Fri Jan 9 10:27:11 2026 - spawned uWSGI http 1 (pid: 1815291)
Fri Jan 9 10:27:11 2026 - Python auto-reloader enabled
Fri Jan 9 10:27:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:27:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:27:55 2026 - gateway "uWSGI http 1" has been buried (pid: 1815291)
Fri Jan 9 10:27:55 2026 - ...gracefully killing workers...
Fri Jan 9 10:27:55 2026 - Gracefully killing worker 2 (pid: 1815287)...
Fri Jan 9 10:27:55 2026 - Gracefully killing worker 1 (pid: 1815286)...
Fri Jan 9 10:27:56 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:27:56 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:27:56 2026 - binary reloading uWSGI...
Fri Jan 9 10:27:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:56 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:27:56 2026 - found fd 3 mapped to socket 0 (127.0.0.1:34323)
Fri Jan 9 10:27:56 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:27:56 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:27:56 2026] ***
Fri Jan 9 10:27:56 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:27:56 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:27:56 2026 - nodename: ubserver
Fri Jan 9 10:27:56 2026 - machine: x86_64
Fri Jan 9 10:27:56 2026 - clock source: unix
Fri Jan 9 10:27:56 2026 - pcre jit disabled
Fri Jan 9 10:27:56 2026 - detected number of CPU cores: 12
Fri Jan 9 10:27:56 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:56 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:27:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:27:56 2026 - your processes number limit is 61306
Fri Jan 9 10:27:56 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:27:56 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:27:56 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:27:56 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:27:56 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:27:56 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:27:56 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:37353 (port auto-assigned) fd 4
Fri Jan 9 10:27:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:56 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:27:56 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:27:56 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:27:56 2026 - Python main interpreter initialized at 0x70c237752d10
Fri Jan 9 10:27:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:56 2026 - python threads support enabled
Fri Jan 9 10:27:56 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:27:56 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:27:56 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:27:56 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:27:57 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:27:57 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:27:57 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x70c237752d10 pid: 1782404 (default app)
Fri Jan 9 10:27:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:27:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:27:57 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:27:57 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:27:57 2026 - spawned uWSGI worker 1 (pid: 1817209, cores: 2)
Fri Jan 9 10:27:57 2026 - spawned uWSGI worker 2 (pid: 1817210, cores: 2)
Fri Jan 9 10:27:57 2026 - spawned uWSGI http 1 (pid: 1817215)
Fri Jan 9 10:27:57 2026 - Python auto-reloader enabled
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: YS7RBuNL221aid+SSC+nfDV0AAkZe5xnflVEtA7MzaK+UyqoW9...
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 1f8d0c119a8bcbf6913ed06e9991c3166b6bbb18
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 1f8d0c119a8bcbf6913ed06e9991c3166b6bbb18
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 10:28:19 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=latest_news, user=WeiJueSen
2026-01-09 10:28:19 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: latest_news, user: WeiJueSen
2026-01-09 10:28:19 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求最新公告
{address space usage: 233709568 bytes/222MB} {rss usage: 38821888 bytes/37MB} [pid: 1817210|app: 0|req: 1/1] 183.47.98.227 () {36 vars in 677 bytes} [Fri Jan 9 10:28:19 2026] POST /api/v1/wechat/callback?msg_signature=1f8d0c119a8bcbf6913ed06e9991c3166b6bbb18&timestamp=1767925699&nonce=1768209024 => generated 1394 bytes in 6 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 428
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: zozV9O7eNAXcdK29PH30oG9UiS7hzONGFKXLc8G2pk0fhAFnIz...
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 10442844f4f723747edcf1925bed5e7903432b59
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 10442844f4f723747edcf1925bed5e7903432b59
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:28:25 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=1..., user=WeiJueSen
2026-01-09 10:28:25 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 1, user: WeiJueSen
2026-01-09 10:28:25 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 选择公告来源: 1
2026-01-09 10:28:25 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
{address space usage: 239050752 bytes/227MB} {rss usage: 48840704 bytes/46MB} [pid: 1817209|app: 0|req: 1/2] 14.116.241.251 () {36 vars in 679 bytes} [Fri Jan 9 10:28:25 2026] POST /api/v1/wechat/callback?msg_signature=10442844f4f723747edcf1925bed5e7903432b59&timestamp=1767925705&nonce=1768668050 => generated 2502 bytes in 69 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
Fri Jan 9 10:28:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:28:49 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:28:49 2026 - gateway "uWSGI http 1" has been buried (pid: 1817215)
Fri Jan 9 10:28:49 2026 - ...gracefully killing workers...
Fri Jan 9 10:28:49 2026 - Gracefully killing worker 1 (pid: 1817209)...
Fri Jan 9 10:28:49 2026 - Gracefully killing worker 2 (pid: 1817210)...
Fri Jan 9 10:28:50 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:28:50 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:28:50 2026 - binary reloading uWSGI...
Fri Jan 9 10:28:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:28:50 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:28:50 2026 - found fd 4 mapped to socket 0 (127.0.0.1:37353)
Fri Jan 9 10:28:50 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:28:50 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:28:50 2026] ***
Fri Jan 9 10:28:50 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:28:50 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:28:50 2026 - nodename: ubserver
Fri Jan 9 10:28:50 2026 - machine: x86_64
Fri Jan 9 10:28:50 2026 - clock source: unix
Fri Jan 9 10:28:50 2026 - pcre jit disabled
Fri Jan 9 10:28:50 2026 - detected number of CPU cores: 12
Fri Jan 9 10:28:50 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:28:50 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:28:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:28:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:28:50 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:28:50 2026 - your processes number limit is 61306
Fri Jan 9 10:28:50 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:28:50 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:28:50 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:28:50 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:28:50 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:28:50 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:28:50 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40261 (port auto-assigned) fd 3
Fri Jan 9 10:28:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:28:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:28:50 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:28:50 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:28:50 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:28:50 2026 - Python main interpreter initialized at 0x77f978f52d10
Fri Jan 9 10:28:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:28:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:28:50 2026 - python threads support enabled
Fri Jan 9 10:28:50 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:28:50 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:28:50 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:28:50 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:28:50 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:28:50 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:28:50 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x77f978f52d10 pid: 1782404 (default app)
Fri Jan 9 10:28:50 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:28:50 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:28:50 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:28:50 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:28:50 2026 - spawned uWSGI worker 1 (pid: 1817590, cores: 2)
Fri Jan 9 10:28:50 2026 - spawned uWSGI worker 2 (pid: 1817591, cores: 2)
Fri Jan 9 10:28:50 2026 - spawned uWSGI http 1 (pid: 1817594)
Fri Jan 9 10:28:50 2026 - Python auto-reloader enabled
Fri Jan 9 10:32:28 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:28 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:28 2026 - gateway "uWSGI http 1" has been buried (pid: 1817594)
Fri Jan 9 10:32:28 2026 - ...gracefully killing workers...
Fri Jan 9 10:32:28 2026 - Gracefully killing worker 2 (pid: 1817591)...
Fri Jan 9 10:32:28 2026 - Gracefully killing worker 1 (pid: 1817590)...
Fri Jan 9 10:32:29 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:32:29 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:32:29 2026 - binary reloading uWSGI...
Fri Jan 9 10:32:29 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:29 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:32:29 2026 - found fd 3 mapped to socket 0 (127.0.0.1:40261)
Fri Jan 9 10:32:29 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:32:29 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:32:29 2026] ***
Fri Jan 9 10:32:29 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:32:29 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:32:29 2026 - nodename: ubserver
Fri Jan 9 10:32:29 2026 - machine: x86_64
Fri Jan 9 10:32:29 2026 - clock source: unix
Fri Jan 9 10:32:29 2026 - pcre jit disabled
Fri Jan 9 10:32:29 2026 - detected number of CPU cores: 12
Fri Jan 9 10:32:29 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:29 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:29 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:29 2026 - your processes number limit is 61306
Fri Jan 9 10:32:29 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:32:29 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:32:29 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:32:29 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:32:29 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:32:29 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:32:29 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:34655 (port auto-assigned) fd 4
Fri Jan 9 10:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:29 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:32:29 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:29 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:29 2026 - Python main interpreter initialized at 0x7d3c1a752d10
Fri Jan 9 10:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:29 2026 - python threads support enabled
Fri Jan 9 10:32:29 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:32:29 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:32:29 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:32:29 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:32:29 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:32:29 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:32:29 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7d3c1a752d10 pid: 1782404 (default app)
Fri Jan 9 10:32:29 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:29 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:29 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:32:29 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:32:29 2026 - spawned uWSGI worker 1 (pid: 1818793, cores: 2)
Fri Jan 9 10:32:29 2026 - spawned uWSGI worker 2 (pid: 1818794, cores: 2)
Fri Jan 9 10:32:29 2026 - spawned uWSGI http 1 (pid: 1818798)
Fri Jan 9 10:32:29 2026 - Python auto-reloader enabled
Fri Jan 9 10:32:33 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:33 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:33 2026 - gateway "uWSGI http 1" has been buried (pid: 1818798)
Fri Jan 9 10:32:33 2026 - ...gracefully killing workers...
Fri Jan 9 10:32:33 2026 - Gracefully killing worker 1 (pid: 1818793)...
Fri Jan 9 10:32:33 2026 - Gracefully killing worker 2 (pid: 1818794)...
Fri Jan 9 10:32:34 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:32:34 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:32:34 2026 - binary reloading uWSGI...
Fri Jan 9 10:32:34 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:34 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:32:34 2026 - found fd 4 mapped to socket 0 (127.0.0.1:34655)
Fri Jan 9 10:32:34 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:32:34 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:32:34 2026] ***
Fri Jan 9 10:32:34 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:32:34 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:32:34 2026 - nodename: ubserver
Fri Jan 9 10:32:34 2026 - machine: x86_64
Fri Jan 9 10:32:34 2026 - clock source: unix
Fri Jan 9 10:32:34 2026 - pcre jit disabled
Fri Jan 9 10:32:34 2026 - detected number of CPU cores: 12
Fri Jan 9 10:32:34 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:34 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:32:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:34 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:34 2026 - your processes number limit is 61306
Fri Jan 9 10:32:34 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:32:34 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:32:34 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:32:34 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:32:34 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:32:34 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:32:34 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:38431 (port auto-assigned) fd 3
Fri Jan 9 10:32:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:34 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:32:34 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:34 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:34 2026 - Python main interpreter initialized at 0x760172f52d10
Fri Jan 9 10:32:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:34 2026 - python threads support enabled
Fri Jan 9 10:32:34 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:32:34 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:32:34 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:32:34 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:32:34 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:32:34 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:32:34 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x760172f52d10 pid: 1782404 (default app)
Fri Jan 9 10:32:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:34 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:32:34 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:32:34 2026 - spawned uWSGI worker 1 (pid: 1818808, cores: 2)
Fri Jan 9 10:32:34 2026 - spawned uWSGI worker 2 (pid: 1818809, cores: 2)
Fri Jan 9 10:32:34 2026 - spawned uWSGI http 1 (pid: 1818812)
Fri Jan 9 10:32:34 2026 - Python auto-reloader enabled
Fri Jan 9 10:32:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:38 2026 - gateway "uWSGI http 1" has been buried (pid: 1818812)
Fri Jan 9 10:32:38 2026 - ...gracefully killing workers...
Fri Jan 9 10:32:38 2026 - Gracefully killing worker 1 (pid: 1818808)...
Fri Jan 9 10:32:38 2026 - Gracefully killing worker 2 (pid: 1818809)...
Fri Jan 9 10:32:39 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:32:39 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:32:39 2026 - binary reloading uWSGI...
Fri Jan 9 10:32:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:39 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:32:39 2026 - found fd 3 mapped to socket 0 (127.0.0.1:38431)
Fri Jan 9 10:32:39 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:32:39 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:32:39 2026] ***
Fri Jan 9 10:32:39 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:32:39 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:32:39 2026 - nodename: ubserver
Fri Jan 9 10:32:39 2026 - machine: x86_64
Fri Jan 9 10:32:39 2026 - clock source: unix
Fri Jan 9 10:32:39 2026 - pcre jit disabled
Fri Jan 9 10:32:39 2026 - detected number of CPU cores: 12
Fri Jan 9 10:32:39 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:39 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:32:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:39 2026 - your processes number limit is 61306
Fri Jan 9 10:32:39 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:32:39 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:32:39 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:32:39 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:32:39 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:32:39 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:32:39 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:41473 (port auto-assigned) fd 4
Fri Jan 9 10:32:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:39 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:32:39 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:39 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:39 2026 - Python main interpreter initialized at 0x79b9d4152d10
Fri Jan 9 10:32:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:39 2026 - python threads support enabled
Fri Jan 9 10:32:39 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:32:39 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:32:39 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:32:39 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:32:40 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:32:40 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:32:40 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x79b9d4152d10 pid: 1782404 (default app)
Fri Jan 9 10:32:40 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:40 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:40 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:32:40 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:32:40 2026 - spawned uWSGI worker 1 (pid: 1818826, cores: 2)
Fri Jan 9 10:32:40 2026 - spawned uWSGI worker 2 (pid: 1818827, cores: 2)
Fri Jan 9 10:32:40 2026 - spawned uWSGI http 1 (pid: 1818831)
Fri Jan 9 10:32:40 2026 - Python auto-reloader enabled
Fri Jan 9 10:32:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:32:44 2026 - gateway "uWSGI http 1" has been buried (pid: 1818831)
Fri Jan 9 10:32:44 2026 - ...gracefully killing workers...
Fri Jan 9 10:32:44 2026 - Gracefully killing worker 2 (pid: 1818827)...
Fri Jan 9 10:32:44 2026 - Gracefully killing worker 1 (pid: 1818826)...
Fri Jan 9 10:32:45 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:32:45 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:32:45 2026 - binary reloading uWSGI...
Fri Jan 9 10:32:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:45 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:32:45 2026 - found fd 4 mapped to socket 0 (127.0.0.1:41473)
Fri Jan 9 10:32:45 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:32:45 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:32:45 2026] ***
Fri Jan 9 10:32:45 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:32:45 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:32:45 2026 - nodename: ubserver
Fri Jan 9 10:32:45 2026 - machine: x86_64
Fri Jan 9 10:32:45 2026 - clock source: unix
Fri Jan 9 10:32:45 2026 - pcre jit disabled
Fri Jan 9 10:32:45 2026 - detected number of CPU cores: 12
Fri Jan 9 10:32:45 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:45 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:32:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:32:45 2026 - your processes number limit is 61306
Fri Jan 9 10:32:45 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:32:45 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:32:45 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:32:45 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:32:45 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:32:45 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:32:45 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45769 (port auto-assigned) fd 3
Fri Jan 9 10:32:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:45 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:32:45 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:45 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:32:45 2026 - Python main interpreter initialized at 0x7a69a6152d10
Fri Jan 9 10:32:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:45 2026 - python threads support enabled
Fri Jan 9 10:32:45 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:32:45 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:32:45 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:32:45 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:32:45 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:32:45 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:32:45 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7a69a6152d10 pid: 1782404 (default app)
Fri Jan 9 10:32:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:32:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:32:45 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:32:45 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:32:45 2026 - spawned uWSGI worker 1 (pid: 1818869, cores: 2)
Fri Jan 9 10:32:45 2026 - spawned uWSGI worker 2 (pid: 1818870, cores: 2)
Fri Jan 9 10:32:45 2026 - spawned uWSGI http 1 (pid: 1818873)
Fri Jan 9 10:32:45 2026 - Python auto-reloader enabled
Fri Jan 9 10:33:09 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:33:09 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:33:09 2026 - gateway "uWSGI http 1" has been buried (pid: 1818873)
Fri Jan 9 10:33:09 2026 - ...gracefully killing workers...
Fri Jan 9 10:33:09 2026 - Gracefully killing worker 2 (pid: 1818870)...
Fri Jan 9 10:33:09 2026 - Gracefully killing worker 1 (pid: 1818869)...
Fri Jan 9 10:33:10 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:33:10 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:33:10 2026 - binary reloading uWSGI...
Fri Jan 9 10:33:10 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:10 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:33:10 2026 - found fd 3 mapped to socket 0 (127.0.0.1:45769)
Fri Jan 9 10:33:10 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:33:10 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:33:10 2026] ***
Fri Jan 9 10:33:10 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:33:10 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:33:10 2026 - nodename: ubserver
Fri Jan 9 10:33:10 2026 - machine: x86_64
Fri Jan 9 10:33:10 2026 - clock source: unix
Fri Jan 9 10:33:10 2026 - pcre jit disabled
Fri Jan 9 10:33:10 2026 - detected number of CPU cores: 12
Fri Jan 9 10:33:10 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:10 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:33:10 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:10 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:10 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:10 2026 - your processes number limit is 61306
Fri Jan 9 10:33:10 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:33:10 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:33:10 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:33:10 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:33:10 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:33:10 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:33:10 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43071 (port auto-assigned) fd 4
Fri Jan 9 10:33:10 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:10 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:10 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:33:10 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:33:10 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:33:10 2026 - Python main interpreter initialized at 0x73522cb52d10
Fri Jan 9 10:33:10 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:10 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:10 2026 - python threads support enabled
Fri Jan 9 10:33:10 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:33:10 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:33:10 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:33:10 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:33:10 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:33:10 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:33:10 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x73522cb52d10 pid: 1782404 (default app)
Fri Jan 9 10:33:10 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:10 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:10 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:33:10 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:33:10 2026 - spawned uWSGI worker 1 (pid: 1819074, cores: 2)
Fri Jan 9 10:33:10 2026 - spawned uWSGI worker 2 (pid: 1819075, cores: 2)
Fri Jan 9 10:33:10 2026 - spawned uWSGI http 1 (pid: 1819078)
Fri Jan 9 10:33:10 2026 - Python auto-reloader enabled
Fri Jan 9 10:33:20 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:33:20 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:33:20 2026 - gateway "uWSGI http 1" has been buried (pid: 1819078)
Fri Jan 9 10:33:20 2026 - ...gracefully killing workers...
Fri Jan 9 10:33:20 2026 - Gracefully killing worker 2 (pid: 1819075)...
Fri Jan 9 10:33:20 2026 - Gracefully killing worker 1 (pid: 1819074)...
Fri Jan 9 10:33:21 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:33:21 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:33:21 2026 - binary reloading uWSGI...
Fri Jan 9 10:33:21 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:21 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:33:21 2026 - found fd 4 mapped to socket 0 (127.0.0.1:43071)
Fri Jan 9 10:33:21 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:33:21 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:33:21 2026] ***
Fri Jan 9 10:33:21 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:33:21 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:33:21 2026 - nodename: ubserver
Fri Jan 9 10:33:21 2026 - machine: x86_64
Fri Jan 9 10:33:21 2026 - clock source: unix
Fri Jan 9 10:33:21 2026 - pcre jit disabled
Fri Jan 9 10:33:21 2026 - detected number of CPU cores: 12
Fri Jan 9 10:33:21 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:21 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:33:21 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:21 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:21 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:33:21 2026 - your processes number limit is 61306
Fri Jan 9 10:33:21 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:33:21 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:33:21 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:33:21 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:33:21 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:33:21 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:33:21 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39103 (port auto-assigned) fd 3
Fri Jan 9 10:33:21 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:21 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:21 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:33:21 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:33:21 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:33:21 2026 - Python main interpreter initialized at 0x77bb83d52d10
Fri Jan 9 10:33:21 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:21 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:21 2026 - python threads support enabled
Fri Jan 9 10:33:21 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:33:21 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:33:21 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:33:21 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:33:21 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:33:21 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x77bb83d52d10 pid: 1782404 (default app)
Fri Jan 9 10:33:21 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:33:21 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:33:21 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:33:21 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:33:21 2026 - spawned uWSGI worker 1 (pid: 1819123, cores: 2)
Fri Jan 9 10:33:21 2026 - spawned uWSGI worker 2 (pid: 1819124, cores: 2)
Fri Jan 9 10:33:21 2026 - spawned uWSGI http 1 (pid: 1819127)
Fri Jan 9 10:33:21 2026 - Python auto-reloader enabled
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: GTaNs33vwoJ+4/EMmi2BNZfvbY/oa9P3ETIoIEbaLtRRSObPM2...
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b164aac779ad641d764d7ca78e44d290891bda18
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b164aac779ad641d764d7ca78e44d290891bda18
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 10:33:21 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=latest_news, user=WeiJueSen
2026-01-09 10:33:21 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: latest_news, user: WeiJueSen
2026-01-09 10:33:21 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求最新公告
{address space usage: 233709568 bytes/222MB} {rss usage: 38711296 bytes/36MB} [pid: 1819123|app: 0|req: 1/1] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 10:33:21 2026] POST /api/v1/wechat/callback?msg_signature=b164aac779ad641d764d7ca78e44d290891bda18&timestamp=1767926001&nonce=1768620865 => generated 1478 bytes in 6 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 428
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: S1bfMrKOasqa288wweOEjK/5pKCyxvTfFasXMD4bcoNmS53AaP...
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 0aab34f6a2cb370d6ead35df861f0e51b2305852
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 0aab34f6a2cb370d6ead35df861f0e51b2305852
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:33:32 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=10..., user=WeiJueSen
2026-01-09 10:33:32 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 10, user: WeiJueSen
2026-01-09 10:33:32 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 选择公告来源: 10
2026-01-09 10:33:32 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
{address space usage: 239050752 bytes/227MB} {rss usage: 48742400 bytes/46MB} [pid: 1819124|app: 0|req: 1/2] 183.47.98.168 () {36 vars in 678 bytes} [Fri Jan 9 10:33:32 2026] POST /api/v1/wechat/callback?msg_signature=0aab34f6a2cb370d6ead35df861f0e51b2305852&timestamp=1767926012&nonce=1768658849 => generated 2590 bytes in 58 msecs (HTTP/1.1 200) 2 headers in 81 bytes (1 switches on core 0)
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: SnmNv1JvgNwdi/3C/KcStmOJIpzxorxgaCGic2u6tdLzsYmnOk...
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: feb8eef2ddccadec738c597383cb60ab7423765c
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: feb8eef2ddccadec738c597383cb60ab7423765c
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=event
2026-01-09 10:34:31 - gx_gp_monitor.wechat.callback_server - INFO - 处理事件消息: event=click, event_key=today_stats, user=WeiJueSen
2026-01-09 10:34:31 - gx_gp_monitor.wechat.message_handler - INFO - 处理事件: click, key: today_stats, user: WeiJueSen
2026-01-09 10:34:31 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日统计
2026-01-09 10:34:31 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:34:31 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:34:31 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:34:31 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:34:31 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:34:31 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:34:31 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:34:31 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:34:31 - gx_gp_monitor.main - INFO - 应用初始化完成
{address space usage: 234758144 bytes/223MB} {rss usage: 47702016 bytes/45MB} [pid: 1819123|app: 0|req: 2/3] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 10:34:31 2026] POST /api/v1/wechat/callback?msg_signature=feb8eef2ddccadec738c597383cb60ab7423765c&timestamp=1767926071&nonce=1768471749 => generated 966 bytes in 237 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: rBvhsf9qEmvSA53kCTz/vZk1cJ7XeUAHXZHecKetaDMwG+c7ds...
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: cd7d1cd61fa529ae42f14c64bb227705c5b263de
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: cd7d1cd61fa529ae42f14c64bb227705c5b263de
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:34:38 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:34:38 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:34:38 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:34:38 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:34:38 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:34:38 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:34:38 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:34:38 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:34:38 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:34:38 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:34:38 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:34:38 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:34:38 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:34:38 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: rBvhsf9qEmvSA53kCTz/vZk1cJ7XeUAHXZHecKetaDMwG+c7ds...
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: cd7d1cd61fa529ae42f14c64bb227705c5b263de
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: cd7d1cd61fa529ae42f14c64bb227705c5b263de
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:34:43 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=马山..., user=WeiJueSen
2026-01-09 10:34:43 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 马山, user: WeiJueSen
2026-01-09 10:34:43 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['马山']
2026-01-09 10:34:43 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:34:43 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:34:43 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:34:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:43 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.43秒
2026-01-09 10:34:43 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:34:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:34:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:34:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:34:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:34:44 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:34:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:34:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.43秒
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:34:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:34:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:34:45 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:34:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:34:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:34:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:34:46 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:34:46 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:34:46 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:34:46 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:34:46 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:34:46 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 193 条公告
2026-01-09 10:34:46 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 193 -> 2 条公告
2026-01-09 10:34:46 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:34:46 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:34:46 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:34:46 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 191, 'date_filtered': 1107, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 34, 45, 68742), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 34, 45, 497090), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 250597376 bytes/238MB} {rss usage: 64647168 bytes/61MB} [pid: 1819124|app: 0|req: 3/4] 106.55.201.217 () {36 vars in 679 bytes} [Fri Jan 9 10:34:43 2026] POST /api/v1/wechat/callback?msg_signature=cd7d1cd61fa529ae42f14c64bb227705c5b263de&timestamp=1767926078&nonce=1768275254 => generated 710 bytes in 3272 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:35:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.51秒
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:35:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:35:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:35:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:35:09 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:35:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:35:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:35:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.42秒
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:35:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:35:10 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:35:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:35:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:35:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:35:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:35:11 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:35:11 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:35:11 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:35:11 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:35:11 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:35:11 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 194 条公告
2026-01-09 10:35:11 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 194 -> 2 条公告
2026-01-09 10:35:11 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:35:11 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:35:11 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:35:11 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 192, 'date_filtered': 1106, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 35, 10, 254547), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 35, 10, 669761), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 243257344 bytes/231MB} {rss usage: 57946112 bytes/55MB} [pid: 1819124|app: 0|req: 3/5] 183.47.117.101 () {36 vars in 679 bytes} [Fri Jan 9 10:34:38 2026] POST /api/v1/wechat/callback?msg_signature=cd7d1cd61fa529ae42f14c64bb227705c5b263de&timestamp=1767926078&nonce=1768275254 => generated 710 bytes in 33339 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: NNqNKwBKU8YP87SfjRv8oENckQkQFS70OmhGuzkGFrsC1YwEBQ...
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:36:32 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 大化..., user=WeiJueSen
2026-01-09 10:36:32 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 大化, user: WeiJueSen
2026-01-09 10:36:32 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['大化']
2026-01-09 10:36:32 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:36:32 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:36:32 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: NNqNKwBKU8YP87SfjRv8oENckQkQFS70OmhGuzkGFrsC1YwEBQ...
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:36:37 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 大化..., user=WeiJueSen
2026-01-09 10:36:37 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 大化, user: WeiJueSen
2026-01-09 10:36:37 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['大化']
2026-01-09 10:36:37 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:36:37 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:36:37 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: NNqNKwBKU8YP87SfjRv8oENckQkQFS70OmhGuzkGFrsC1YwEBQ...
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 45f5c588689dc7ae542ab1553699861c4711dc8a
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:36:42 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 大化..., user=WeiJueSen
2026-01-09 10:36:42 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 大化, user: WeiJueSen
2026-01-09 10:36:42 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['大化']
2026-01-09 10:36:42 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:36:42 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:36:42 - gx_gp_monitor - INFO - 开始爬取 采购公告
Fri Jan 9 10:37:02 2026 - *** HARAKIRI ON WORKER 1 (pid: 1819123, try: 1, graceful: yes) ***
Fri Jan 9 10:37:02 2026 - HARAKIRI !!! worker 1 status !!!
Fri Jan 9 10:37:02 2026 - HARAKIRI [core 0] 183.47.98.168 - POST /api/v1/wechat/callback?msg_signature=45f5c588689dc7ae542ab1553699861c4711dc8a&timestamp=1767926192&nonce=1768601135 since 1767926192
Fri Jan 9 10:37:02 2026 - HARAKIRI !!! end of worker 1 status !!!
Fri Jan 9 10:37:02 2026 - HARAKIRI triggered by worker 1 core 0 !!!
Fri Jan 9 10:37:03 2026 - DAMN ! worker 1 (pid: 1819123) died, killed by signal 9 :( trying respawn ...
Fri Jan 9 10:37:03 2026 - Respawned uWSGI worker 1 (new pid: 1820451)
Fri Jan 9 10:37:03 2026 - Python auto-reloader enabled
2026-01-09 10:37:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.39秒
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:37:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:37:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:37:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:37:08 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:37:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:37:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:37:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.39秒
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:37:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:37:09 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:37:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:37:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:37:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:37:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:37:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:10 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:37:10 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:37:10 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:37:10 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:37:10 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 199 条公告
2026-01-09 10:37:10 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 199 -> 1 条公告
2026-01-09 10:37:10 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1 -> 1 条公告
2026-01-09 10:37:10 - gx_gp_monitor.main - INFO - 筛选后剩余 1 条公告
2026-01-09 10:37:10 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:37:10 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 1, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 198, 'date_filtered': 1101, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='大化瑶族自治县2025年度国土变更(日常变更)调查项目合同公告', publish_date=datetime.datetime(2026, 1, 9, 10, 2, 19), purchase_name='大化瑶族自治县自然资源局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=NSAtgiyTEYUaFq3dcNs6ig==', source_code='ZcyAnnouncement3', source_name='合同公告', announcement_type=<AnnouncementType.CONTRACT: 'contract'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 37, 8, 446065), created_at=None, updated_at=None, content_hash='9270849ec53ce195b3fc4de103ef656a', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 254787584 bytes/242MB} {rss usage: 74129408 bytes/70MB} [pid: 1819124|app: 0|req: 5/6] 106.55.201.217 () {36 vars in 679 bytes} [Fri Jan 9 10:36:37 2026] POST /api/v1/wechat/callback?msg_signature=45f5c588689dc7ae542ab1553699861c4711dc8a&timestamp=1767926192&nonce=1768601135 => generated 710 bytes in 33138 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:37:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.38秒
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:37:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:37:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:37:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:37:13 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:37:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:37:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:37:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:37:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:37:14 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:37:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:37:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:37:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:37:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.29秒
2026-01-09 10:37:15 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:37:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:16 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.29秒
2026-01-09 10:37:16 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:37:16 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:37:16 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:37:16 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 199 条公告
2026-01-09 10:37:16 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 199 -> 1 条公告
2026-01-09 10:37:16 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1 -> 1 条公告
2026-01-09 10:37:16 - gx_gp_monitor.main - INFO - 筛选后剩余 1 条公告
2026-01-09 10:37:16 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:37:16 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 1, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 198, 'date_filtered': 1101, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='大化瑶族自治县2025年度国土变更(日常变更)调查项目合同公告', publish_date=datetime.datetime(2026, 1, 9, 10, 2, 19), purchase_name='大化瑶族自治县自然资源局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=NSAtgiyTEYUaFq3dcNs6ig==', source_code='ZcyAnnouncement3', source_name='合同公告', announcement_type=<AnnouncementType.CONTRACT: 'contract'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 37, 13, 480617), created_at=None, updated_at=None, content_hash='9270849ec53ce195b3fc4de103ef656a', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 245350400 bytes/233MB} {rss usage: 64823296 bytes/61MB} [pid: 1819124|app: 0|req: 5/7] 112.53.2.93 () {36 vars in 676 bytes} [Fri Jan 9 10:36:42 2026] POST /api/v1/wechat/callback?msg_signature=45f5c588689dc7ae542ab1553699861c4711dc8a&timestamp=1767926192&nonce=1768601135 => generated 710 bytes in 33356 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: Lkx65MFWghgpCIU1tWydWqtX7DDrez3S6jBM64NmE/dhfhBQMy...
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:37:32 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 马山..., user=WeiJueSen
2026-01-09 10:37:32 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 马山, user: WeiJueSen
2026-01-09 10:37:32 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['马山']
2026-01-09 10:37:32 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:37:32 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:37:32 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:37:32 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:37:32 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:37:32 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:37:32 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:37:32 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:37:32 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:37:32 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:37:32 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:37:32 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: Lkx65MFWghgpCIU1tWydWqtX7DDrez3S6jBM64NmE/dhfhBQMy...
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:37:37 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 马山..., user=WeiJueSen
2026-01-09 10:37:37 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 马山, user: WeiJueSen
2026-01-09 10:37:37 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['马山']
2026-01-09 10:37:37 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:37:37 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:37:37 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: Lkx65MFWghgpCIU1tWydWqtX7DDrez3S6jBM64NmE/dhfhBQMy...
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 047168e9e8d4e60f631ac6f98d07d8380df9c2b8
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:37:42 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=搜索 马山..., user=WeiJueSen
2026-01-09 10:37:42 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 搜索 马山, user: WeiJueSen
2026-01-09 10:37:42 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动搜索关键词: ['马山']
2026-01-09 10:37:42 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:37:42 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:37:42 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:37:42 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:42 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.44秒
2026-01-09 10:37:42 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:37:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.37秒
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:37:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:37:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:37:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:37:43 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:37:43 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:37:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:37:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:37:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:37:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:37:44 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:37:44 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:37:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:45 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:37:45 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:37:45 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:37:45 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:37:45 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:37:45 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:37:45 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:37:45 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 200 条公告
2026-01-09 10:37:45 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 200 -> 2 条公告
2026-01-09 10:37:45 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:37:45 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:37:45 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:37:45 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 198, 'date_filtered': 1100, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 37, 43, 886887), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 37, 44, 227222), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 246398976 bytes/234MB} {rss usage: 64925696 bytes/61MB} [pid: 1819124|app: 0|req: 6/8] 112.53.2.93 () {36 vars in 676 bytes} [Fri Jan 9 10:37:42 2026] POST /api/v1/wechat/callback?msg_signature=047168e9e8d4e60f631ac6f98d07d8380df9c2b8&timestamp=1767926252&nonce=1768012394 => generated 710 bytes in 3124 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:38:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:02 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.38秒
2026-01-09 10:38:02 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:38:02 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:02 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:38:02 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:38:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:38:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:38:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:38:03 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:38:03 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:38:04 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:38:04 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:38:04 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:38:04 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-09 10:38:04 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:38:05 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:05 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:38:05 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:38:05 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:05 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:38:05 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:38:05 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:05 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:38:05 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:38:05 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:38:05 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:38:05 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 203 条公告
2026-01-09 10:38:05 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 203 -> 2 条公告
2026-01-09 10:38:05 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:38:05 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:38:05 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:38:05 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 201, 'date_filtered': 1097, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 38, 3, 903378), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 38, 4, 239840), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 254042112 bytes/242MB} {rss usage: 71852032 bytes/68MB} [pid: 1820451|app: 0|req: 5/9] 183.47.98.227 () {36 vars in 678 bytes} [Fri Jan 9 10:37:32 2026] POST /api/v1/wechat/callback?msg_signature=047168e9e8d4e60f631ac6f98d07d8380df9c2b8&timestamp=1767926252&nonce=1768012394 => generated 710 bytes in 33319 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
2026-01-09 10:38:07 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.38秒
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:38:07 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:38:07 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:38:07 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:38:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:38:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:38:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:38:08 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-09 10:38:08 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:38:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:38:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:38:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:38:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:38:09 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:38:09 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:38:10 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:38:10 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:38:10 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:38:10 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:38:10 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:38:10 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 203 条公告
2026-01-09 10:38:10 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 203 -> 2 条公告
2026-01-09 10:38:10 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 2 -> 2 条公告
2026-01-09 10:38:10 - gx_gp_monitor.main - INFO - 筛选后剩余 2 条公告
2026-01-09 10:38:10 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:38:10 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 2, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 201, 'date_filtered': 1097, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='关于打印/复印纸的网上超市合同公告', publish_date=datetime.datetime(2026, 1, 9, 9, 53, 47), purchase_name='马山县卫生健康局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=TQ8JBxuEbH10KU93ffGNUQ==', source_code='ZcyAnnouncement7', source_name='电子卖场公示', announcement_type=<AnnouncementType.ELECTRONIC_MARKET: 'electronic_market'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 38, 8, 573750), created_at=None, updated_at=None, content_hash='406c71dd23410b265f2776eef85bddc7', keyword_matched=True, date_filtered=True, is_new=True, is_today=True), Announcement(id=None, title='马山县疾病预防控制中心[2181801000007961838]马山县龙之都汽车服务有限公司2025-2026年马山县县本级预算单位公务车辆维修、保养服务框架协议采购的验收公告', publish_date=datetime.datetime(2026, 1, 9, 9, 33, 27), purchase_name='马山县疾病预防控制中心', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=MiIzDm+fgMeYY8CH5dIPRA==', source_code='ZcyAnnouncement10', source_name='履约验收公示', announcement_type=<AnnouncementType.ACCEPTANCE: 'acceptance'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 38, 8, 911610), created_at=None, updated_at=None, content_hash='f22c9ba4ff8375192b93c24e1a2901df', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
{address space usage: 243556352 bytes/232MB} {rss usage: 61554688 bytes/58MB} [pid: 1820451|app: 0|req: 5/10] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 10:37:37 2026] POST /api/v1/wechat/callback?msg_signature=047168e9e8d4e60f631ac6f98d07d8380df9c2b8&timestamp=1767926252&nonce=1768012394 => generated 710 bytes in 32924 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
Fri Jan 9 10:42:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:42:44 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:42:44 2026 - gateway "uWSGI http 1" has been buried (pid: 1819127)
Fri Jan 9 10:42:44 2026 - ...gracefully killing workers...
Fri Jan 9 10:42:44 2026 - Gracefully killing worker 2 (pid: 1819124)...
Fri Jan 9 10:42:44 2026 - Gracefully killing worker 1 (pid: 1820451)...
Fri Jan 9 10:42:45 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:42:45 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:42:45 2026 - binary reloading uWSGI...
Fri Jan 9 10:42:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:45 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:42:45 2026 - found fd 3 mapped to socket 0 (127.0.0.1:39103)
Fri Jan 9 10:42:45 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:42:45 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:42:45 2026] ***
Fri Jan 9 10:42:45 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:42:45 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:42:45 2026 - nodename: ubserver
Fri Jan 9 10:42:45 2026 - machine: x86_64
Fri Jan 9 10:42:45 2026 - clock source: unix
Fri Jan 9 10:42:45 2026 - pcre jit disabled
Fri Jan 9 10:42:45 2026 - detected number of CPU cores: 12
Fri Jan 9 10:42:45 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:45 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:42:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:45 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:45 2026 - your processes number limit is 61306
Fri Jan 9 10:42:45 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:42:45 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:42:45 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:42:45 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:42:45 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:42:45 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:42:45 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:41921 (port auto-assigned) fd 4
Fri Jan 9 10:42:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:45 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:42:45 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:42:45 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:42:45 2026 - Python main interpreter initialized at 0x74fbab152d10
Fri Jan 9 10:42:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:45 2026 - python threads support enabled
Fri Jan 9 10:42:45 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:42:45 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:42:45 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:42:45 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:42:45 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:42:45 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:42:45 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x74fbab152d10 pid: 1782404 (default app)
Fri Jan 9 10:42:45 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:45 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:45 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:42:45 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:42:45 2026 - spawned uWSGI worker 1 (pid: 1822209, cores: 2)
Fri Jan 9 10:42:45 2026 - spawned uWSGI worker 2 (pid: 1822212, cores: 2)
Fri Jan 9 10:42:45 2026 - Python auto-reloader enabled
Fri Jan 9 10:42:45 2026 - spawned uWSGI http 1 (pid: 1822215)
Fri Jan 9 10:42:56 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:42:56 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:42:56 2026 - gateway "uWSGI http 1" has been buried (pid: 1822215)
Fri Jan 9 10:42:56 2026 - ...gracefully killing workers...
Fri Jan 9 10:42:56 2026 - Gracefully killing worker 1 (pid: 1822209)...
Fri Jan 9 10:42:56 2026 - Gracefully killing worker 2 (pid: 1822212)...
Fri Jan 9 10:42:57 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:42:57 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:42:57 2026 - binary reloading uWSGI...
Fri Jan 9 10:42:57 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:57 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:42:57 2026 - found fd 4 mapped to socket 0 (127.0.0.1:41921)
Fri Jan 9 10:42:57 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:42:57 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:42:57 2026] ***
Fri Jan 9 10:42:57 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:42:57 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:42:57 2026 - nodename: ubserver
Fri Jan 9 10:42:57 2026 - machine: x86_64
Fri Jan 9 10:42:57 2026 - clock source: unix
Fri Jan 9 10:42:57 2026 - pcre jit disabled
Fri Jan 9 10:42:57 2026 - detected number of CPU cores: 12
Fri Jan 9 10:42:57 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:57 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:42:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:57 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:42:57 2026 - your processes number limit is 61306
Fri Jan 9 10:42:57 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:42:57 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:42:57 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:42:57 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:42:57 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:42:57 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:42:57 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:36909 (port auto-assigned) fd 3
Fri Jan 9 10:42:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:57 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:42:57 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:42:57 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:42:57 2026 - Python main interpreter initialized at 0x7aef49152d10
Fri Jan 9 10:42:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:57 2026 - python threads support enabled
Fri Jan 9 10:42:57 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:42:57 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:42:57 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:42:57 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:42:57 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:42:57 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:42:57 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7aef49152d10 pid: 1782404 (default app)
Fri Jan 9 10:42:57 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:42:57 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:42:57 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:42:57 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:42:57 2026 - spawned uWSGI worker 1 (pid: 1822242, cores: 2)
Fri Jan 9 10:42:57 2026 - spawned uWSGI worker 2 (pid: 1822243, cores: 2)
Fri Jan 9 10:42:57 2026 - Python auto-reloader enabled
Fri Jan 9 10:42:57 2026 - spawned uWSGI http 1 (pid: 1822248)
Fri Jan 9 10:43:04 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:04 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:04 2026 - gateway "uWSGI http 1" has been buried (pid: 1822248)
Fri Jan 9 10:43:04 2026 - ...gracefully killing workers...
Fri Jan 9 10:43:04 2026 - Gracefully killing worker 1 (pid: 1822242)...
Fri Jan 9 10:43:04 2026 - Gracefully killing worker 2 (pid: 1822243)...
Fri Jan 9 10:43:05 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:43:05 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:43:05 2026 - binary reloading uWSGI...
Fri Jan 9 10:43:05 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:05 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:43:05 2026 - found fd 3 mapped to socket 0 (127.0.0.1:36909)
Fri Jan 9 10:43:05 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:43:05 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:43:05 2026] ***
Fri Jan 9 10:43:05 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:43:05 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:43:05 2026 - nodename: ubserver
Fri Jan 9 10:43:05 2026 - machine: x86_64
Fri Jan 9 10:43:05 2026 - clock source: unix
Fri Jan 9 10:43:05 2026 - pcre jit disabled
Fri Jan 9 10:43:05 2026 - detected number of CPU cores: 12
Fri Jan 9 10:43:05 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:05 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:43:05 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:05 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:05 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:05 2026 - your processes number limit is 61306
Fri Jan 9 10:43:05 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:43:05 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:43:05 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:43:05 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:43:05 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:43:05 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:43:05 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39615 (port auto-assigned) fd 4
Fri Jan 9 10:43:05 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:05 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:05 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:43:05 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:05 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:05 2026 - Python main interpreter initialized at 0x70ebea952d10
Fri Jan 9 10:43:05 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:05 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:05 2026 - python threads support enabled
Fri Jan 9 10:43:05 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:43:05 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:43:05 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:43:05 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:43:05 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:43:05 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:43:05 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x70ebea952d10 pid: 1782404 (default app)
Fri Jan 9 10:43:05 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:05 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:05 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:43:05 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:43:05 2026 - spawned uWSGI worker 1 (pid: 1822287, cores: 2)
Fri Jan 9 10:43:05 2026 - spawned uWSGI worker 2 (pid: 1822288, cores: 2)
Fri Jan 9 10:43:05 2026 - spawned uWSGI http 1 (pid: 1822293)
Fri Jan 9 10:43:05 2026 - Python auto-reloader enabled
Fri Jan 9 10:43:25 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:25 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:25 2026 - gateway "uWSGI http 1" has been buried (pid: 1822293)
Fri Jan 9 10:43:25 2026 - ...gracefully killing workers...
Fri Jan 9 10:43:25 2026 - Gracefully killing worker 1 (pid: 1822287)...
Fri Jan 9 10:43:25 2026 - Gracefully killing worker 2 (pid: 1822288)...
Fri Jan 9 10:43:26 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:43:26 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:43:26 2026 - binary reloading uWSGI...
Fri Jan 9 10:43:26 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:26 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:43:26 2026 - found fd 4 mapped to socket 0 (127.0.0.1:39615)
Fri Jan 9 10:43:26 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:43:26 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:43:26 2026] ***
Fri Jan 9 10:43:26 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:43:26 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:43:26 2026 - nodename: ubserver
Fri Jan 9 10:43:26 2026 - machine: x86_64
Fri Jan 9 10:43:26 2026 - clock source: unix
Fri Jan 9 10:43:26 2026 - pcre jit disabled
Fri Jan 9 10:43:26 2026 - detected number of CPU cores: 12
Fri Jan 9 10:43:26 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:26 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:43:26 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:26 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:26 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:26 2026 - your processes number limit is 61306
Fri Jan 9 10:43:26 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:43:26 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:43:26 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:43:26 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:43:26 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:43:26 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:43:26 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:46683 (port auto-assigned) fd 3
Fri Jan 9 10:43:26 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:26 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:26 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:43:26 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:26 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:26 2026 - Python main interpreter initialized at 0x7909fff52d10
Fri Jan 9 10:43:26 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:26 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:26 2026 - python threads support enabled
Fri Jan 9 10:43:26 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:43:26 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:43:26 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:43:26 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:43:27 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:43:27 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:43:27 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7909fff52d10 pid: 1782404 (default app)
Fri Jan 9 10:43:27 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:27 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:27 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:43:27 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:43:27 2026 - spawned uWSGI worker 1 (pid: 1822416, cores: 2)
Fri Jan 9 10:43:27 2026 - spawned uWSGI worker 2 (pid: 1822417, cores: 2)
Fri Jan 9 10:43:27 2026 - Python auto-reloader enabled
Fri Jan 9 10:43:27 2026 - spawned uWSGI http 1 (pid: 1822420)
Fri Jan 9 10:43:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:43:34 2026 - gateway "uWSGI http 1" has been buried (pid: 1822420)
Fri Jan 9 10:43:34 2026 - ...gracefully killing workers...
Fri Jan 9 10:43:34 2026 - Gracefully killing worker 2 (pid: 1822417)...
Fri Jan 9 10:43:34 2026 - Gracefully killing worker 1 (pid: 1822416)...
Fri Jan 9 10:43:35 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:43:35 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:43:35 2026 - binary reloading uWSGI...
Fri Jan 9 10:43:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:35 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:43:35 2026 - found fd 3 mapped to socket 0 (127.0.0.1:46683)
Fri Jan 9 10:43:35 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:43:35 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:43:35 2026] ***
Fri Jan 9 10:43:35 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:43:35 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:43:35 2026 - nodename: ubserver
Fri Jan 9 10:43:35 2026 - machine: x86_64
Fri Jan 9 10:43:35 2026 - clock source: unix
Fri Jan 9 10:43:35 2026 - pcre jit disabled
Fri Jan 9 10:43:35 2026 - detected number of CPU cores: 12
Fri Jan 9 10:43:35 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:35 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:43:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:43:35 2026 - your processes number limit is 61306
Fri Jan 9 10:43:35 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:43:35 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:43:35 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:43:35 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:43:35 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:43:35 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:43:35 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:44857 (port auto-assigned) fd 4
Fri Jan 9 10:43:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:35 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:43:35 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:35 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:43:35 2026 - Python main interpreter initialized at 0x7b438fd52d10
Fri Jan 9 10:43:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:35 2026 - python threads support enabled
Fri Jan 9 10:43:35 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:43:35 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:43:35 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:43:35 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:43:35 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:43:35 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:43:35 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7b438fd52d10 pid: 1782404 (default app)
Fri Jan 9 10:43:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:43:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:43:35 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:43:35 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:43:35 2026 - spawned uWSGI worker 1 (pid: 1822460, cores: 2)
Fri Jan 9 10:43:35 2026 - spawned uWSGI worker 2 (pid: 1822461, cores: 2)
Fri Jan 9 10:43:35 2026 - spawned uWSGI http 1 (pid: 1822465)
Fri Jan 9 10:43:35 2026 - Python auto-reloader enabled
Fri Jan 9 10:45:16 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:45:16 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:45:16 2026 - gateway "uWSGI http 1" has been buried (pid: 1822465)
Fri Jan 9 10:45:16 2026 - ...gracefully killing workers...
Fri Jan 9 10:45:16 2026 - Gracefully killing worker 2 (pid: 1822461)...
Fri Jan 9 10:45:16 2026 - Gracefully killing worker 1 (pid: 1822460)...
Fri Jan 9 10:45:17 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:45:17 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:45:17 2026 - binary reloading uWSGI...
Fri Jan 9 10:45:17 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:45:17 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:45:17 2026 - found fd 4 mapped to socket 0 (127.0.0.1:44857)
Fri Jan 9 10:45:17 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:45:17 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:45:17 2026] ***
Fri Jan 9 10:45:17 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:45:17 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:45:17 2026 - nodename: ubserver
Fri Jan 9 10:45:17 2026 - machine: x86_64
Fri Jan 9 10:45:17 2026 - clock source: unix
Fri Jan 9 10:45:17 2026 - pcre jit disabled
Fri Jan 9 10:45:17 2026 - detected number of CPU cores: 12
Fri Jan 9 10:45:17 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:45:17 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:45:17 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:45:17 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:45:17 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:45:17 2026 - your processes number limit is 61306
Fri Jan 9 10:45:17 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:45:17 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:45:17 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:45:17 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:45:17 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:45:17 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:45:17 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:33191 (port auto-assigned) fd 3
Fri Jan 9 10:45:17 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:45:17 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:45:17 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:45:17 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:45:17 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:45:17 2026 - Python main interpreter initialized at 0x71e619952d10
Fri Jan 9 10:45:17 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:45:17 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:45:17 2026 - python threads support enabled
Fri Jan 9 10:45:17 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:45:17 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:45:17 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:45:17 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:45:17 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:45:17 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:45:17 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x71e619952d10 pid: 1782404 (default app)
Fri Jan 9 10:45:17 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:45:17 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:45:17 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:45:17 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:45:17 2026 - spawned uWSGI worker 1 (pid: 1823141, cores: 2)
Fri Jan 9 10:45:17 2026 - spawned uWSGI worker 2 (pid: 1823142, cores: 2)
Fri Jan 9 10:45:17 2026 - spawned uWSGI http 1 (pid: 1823145)
Fri Jan 9 10:45:17 2026 - Python auto-reloader enabled
Fri Jan 9 10:46:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:46:34 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:46:34 2026 - gateway "uWSGI http 1" has been buried (pid: 1823145)
Fri Jan 9 10:46:34 2026 - ...gracefully killing workers...
Fri Jan 9 10:46:34 2026 - Gracefully killing worker 1 (pid: 1823141)...
Fri Jan 9 10:46:34 2026 - Gracefully killing worker 2 (pid: 1823142)...
Fri Jan 9 10:46:35 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:46:35 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:46:35 2026 - binary reloading uWSGI...
Fri Jan 9 10:46:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:35 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:46:35 2026 - found fd 3 mapped to socket 0 (127.0.0.1:33191)
Fri Jan 9 10:46:35 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:46:35 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:46:35 2026] ***
Fri Jan 9 10:46:35 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:46:35 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:46:35 2026 - nodename: ubserver
Fri Jan 9 10:46:35 2026 - machine: x86_64
Fri Jan 9 10:46:35 2026 - clock source: unix
Fri Jan 9 10:46:35 2026 - pcre jit disabled
Fri Jan 9 10:46:35 2026 - detected number of CPU cores: 12
Fri Jan 9 10:46:35 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:35 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:46:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:35 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:35 2026 - your processes number limit is 61306
Fri Jan 9 10:46:35 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:46:35 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:46:35 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:46:35 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:46:35 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:46:35 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:46:35 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40143 (port auto-assigned) fd 4
Fri Jan 9 10:46:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:35 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:46:35 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:46:35 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:46:35 2026 - Python main interpreter initialized at 0x73bf71752d10
Fri Jan 9 10:46:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:35 2026 - python threads support enabled
Fri Jan 9 10:46:35 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:46:35 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:46:35 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:46:35 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:46:35 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:46:35 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:46:35 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x73bf71752d10 pid: 1782404 (default app)
Fri Jan 9 10:46:35 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:35 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:35 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:46:35 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:46:35 2026 - spawned uWSGI worker 1 (pid: 1823685, cores: 2)
Fri Jan 9 10:46:35 2026 - spawned uWSGI worker 2 (pid: 1823688, cores: 2)
Fri Jan 9 10:46:35 2026 - Python auto-reloader enabled
Fri Jan 9 10:46:35 2026 - spawned uWSGI http 1 (pid: 1823691)
Fri Jan 9 10:46:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:46:38 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:46:38 2026 - gateway "uWSGI http 1" has been buried (pid: 1823691)
Fri Jan 9 10:46:38 2026 - ...gracefully killing workers...
Fri Jan 9 10:46:38 2026 - Gracefully killing worker 2 (pid: 1823688)...
Fri Jan 9 10:46:38 2026 - Gracefully killing worker 1 (pid: 1823685)...
Fri Jan 9 10:46:39 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:46:39 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:46:39 2026 - binary reloading uWSGI...
Fri Jan 9 10:46:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:39 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:46:39 2026 - found fd 4 mapped to socket 0 (127.0.0.1:40143)
Fri Jan 9 10:46:39 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:46:39 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:46:39 2026] ***
Fri Jan 9 10:46:39 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:46:39 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:46:39 2026 - nodename: ubserver
Fri Jan 9 10:46:39 2026 - machine: x86_64
Fri Jan 9 10:46:39 2026 - clock source: unix
Fri Jan 9 10:46:39 2026 - pcre jit disabled
Fri Jan 9 10:46:39 2026 - detected number of CPU cores: 12
Fri Jan 9 10:46:39 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:39 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:46:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:39 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:46:39 2026 - your processes number limit is 61306
Fri Jan 9 10:46:39 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:46:39 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:46:39 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:46:39 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:46:39 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:46:39 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:46:39 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42627 (port auto-assigned) fd 3
Fri Jan 9 10:46:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:39 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:46:39 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:46:39 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:46:39 2026 - Python main interpreter initialized at 0x7c9fff552d10
Fri Jan 9 10:46:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:39 2026 - python threads support enabled
Fri Jan 9 10:46:39 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:46:39 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:46:39 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:46:39 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:46:39 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:46:39 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:46:39 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7c9fff552d10 pid: 1782404 (default app)
Fri Jan 9 10:46:39 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:46:39 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:46:39 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:46:39 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:46:39 2026 - spawned uWSGI worker 1 (pid: 1823703, cores: 2)
Fri Jan 9 10:46:39 2026 - spawned uWSGI worker 2 (pid: 1823704, cores: 2)
Fri Jan 9 10:46:39 2026 - Python auto-reloader enabled
Fri Jan 9 10:46:39 2026 - spawned uWSGI http 1 (pid: 1823707)
Fri Jan 9 10:47:35 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:35 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:35 2026 - gateway "uWSGI http 1" has been buried (pid: 1823707)
Fri Jan 9 10:47:35 2026 - ...gracefully killing workers...
Fri Jan 9 10:47:35 2026 - Gracefully killing worker 2 (pid: 1823704)...
Fri Jan 9 10:47:35 2026 - Gracefully killing worker 1 (pid: 1823703)...
Fri Jan 9 10:47:36 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:47:36 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:47:36 2026 - binary reloading uWSGI...
Fri Jan 9 10:47:36 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:36 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:47:36 2026 - found fd 3 mapped to socket 0 (127.0.0.1:42627)
Fri Jan 9 10:47:36 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:47:36 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:47:36 2026] ***
Fri Jan 9 10:47:36 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:47:36 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:47:36 2026 - nodename: ubserver
Fri Jan 9 10:47:36 2026 - machine: x86_64
Fri Jan 9 10:47:36 2026 - clock source: unix
Fri Jan 9 10:47:36 2026 - pcre jit disabled
Fri Jan 9 10:47:36 2026 - detected number of CPU cores: 12
Fri Jan 9 10:47:36 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:36 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:47:36 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:36 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:36 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:36 2026 - your processes number limit is 61306
Fri Jan 9 10:47:36 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:47:36 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:47:36 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:47:36 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:47:36 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:47:36 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:47:36 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:41859 (port auto-assigned) fd 4
Fri Jan 9 10:47:36 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:36 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:36 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:47:36 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:47:36 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:47:37 2026 - Python main interpreter initialized at 0x7b6cf9552d10
Fri Jan 9 10:47:37 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:37 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:37 2026 - python threads support enabled
Fri Jan 9 10:47:37 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:47:37 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:47:37 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:47:37 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:47:37 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:47:37 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:47:37 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x7b6cf9552d10 pid: 1782404 (default app)
Fri Jan 9 10:47:37 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:37 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:37 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:47:37 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:47:37 2026 - spawned uWSGI worker 1 (pid: 1823980, cores: 2)
Fri Jan 9 10:47:37 2026 - spawned uWSGI worker 2 (pid: 1823981, cores: 2)
Fri Jan 9 10:47:37 2026 - spawned uWSGI http 1 (pid: 1823986)
Fri Jan 9 10:47:37 2026 - Python auto-reloader enabled
Fri Jan 9 10:47:46 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:46 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:46 2026 - gateway "uWSGI http 1" has been buried (pid: 1823986)
Fri Jan 9 10:47:46 2026 - ...gracefully killing workers...
Fri Jan 9 10:47:46 2026 - Gracefully killing worker 2 (pid: 1823981)...
Fri Jan 9 10:47:46 2026 - Gracefully killing worker 1 (pid: 1823980)...
Fri Jan 9 10:47:47 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:47:47 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:47:47 2026 - binary reloading uWSGI...
Fri Jan 9 10:47:47 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:47 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:47:47 2026 - found fd 4 mapped to socket 0 (127.0.0.1:41859)
Fri Jan 9 10:47:47 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:47:47 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:47:47 2026] ***
Fri Jan 9 10:47:47 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:47:47 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:47:47 2026 - nodename: ubserver
Fri Jan 9 10:47:47 2026 - machine: x86_64
Fri Jan 9 10:47:47 2026 - clock source: unix
Fri Jan 9 10:47:47 2026 - pcre jit disabled
Fri Jan 9 10:47:47 2026 - detected number of CPU cores: 12
Fri Jan 9 10:47:47 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:47 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:47:47 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:47 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:47 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:47:47 2026 - your processes number limit is 61306
Fri Jan 9 10:47:47 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:47:47 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:47:47 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:47:47 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:47:47 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:47:47 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:47:47 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:42165 (port auto-assigned) fd 3
Fri Jan 9 10:47:47 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:47 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:47 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:47:47 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:47:47 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:47:47 2026 - Python main interpreter initialized at 0x7331bf952d10
Fri Jan 9 10:47:47 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:47 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:47 2026 - python threads support enabled
Fri Jan 9 10:47:47 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:47:47 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:47:47 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:47:47 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:47:47 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:47:47 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:47:47 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7331bf952d10 pid: 1782404 (default app)
Fri Jan 9 10:47:47 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:47:47 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:47:47 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:47:47 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:47:47 2026 - spawned uWSGI worker 1 (pid: 1824088, cores: 2)
Fri Jan 9 10:47:47 2026 - spawned uWSGI worker 2 (pid: 1824089, cores: 2)
Fri Jan 9 10:47:47 2026 - Python auto-reloader enabled
Fri Jan 9 10:47:47 2026 - spawned uWSGI http 1 (pid: 1824094)
Fri Jan 9 10:47:59 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:59 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:47:59 2026 - gateway "uWSGI http 1" has been buried (pid: 1824094)
Fri Jan 9 10:47:59 2026 - ...gracefully killing workers...
Fri Jan 9 10:47:59 2026 - Gracefully killing worker 2 (pid: 1824089)...
Fri Jan 9 10:47:59 2026 - Gracefully killing worker 1 (pid: 1824088)...
Fri Jan 9 10:48:00 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:48:00 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:48:00 2026 - binary reloading uWSGI...
Fri Jan 9 10:48:00 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:48:00 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:48:00 2026 - found fd 3 mapped to socket 0 (127.0.0.1:42165)
Fri Jan 9 10:48:00 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:48:00 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:48:00 2026] ***
Fri Jan 9 10:48:00 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:48:00 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:48:00 2026 - nodename: ubserver
Fri Jan 9 10:48:00 2026 - machine: x86_64
Fri Jan 9 10:48:00 2026 - clock source: unix
Fri Jan 9 10:48:00 2026 - pcre jit disabled
Fri Jan 9 10:48:00 2026 - detected number of CPU cores: 12
Fri Jan 9 10:48:00 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:48:00 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:48:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:48:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:48:00 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:48:00 2026 - your processes number limit is 61306
Fri Jan 9 10:48:00 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:48:00 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:48:00 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:48:00 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:48:00 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:48:00 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:48:00 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45333 (port auto-assigned) fd 4
Fri Jan 9 10:48:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:48:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:48:00 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:48:00 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:48:00 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:48:00 2026 - Python main interpreter initialized at 0x7e72ee152d10
Fri Jan 9 10:48:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:48:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:48:00 2026 - python threads support enabled
Fri Jan 9 10:48:00 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:48:00 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:48:00 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:48:00 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:48:00 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:48:00 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:48:00 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7e72ee152d10 pid: 1782404 (default app)
Fri Jan 9 10:48:00 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:48:00 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:48:00 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:48:00 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:48:00 2026 - spawned uWSGI worker 1 (pid: 1824143, cores: 2)
Fri Jan 9 10:48:00 2026 - spawned uWSGI worker 2 (pid: 1824144, cores: 2)
Fri Jan 9 10:48:00 2026 - spawned uWSGI http 1 (pid: 1824148)
Fri Jan 9 10:48:00 2026 - Python auto-reloader enabled
Fri Jan 9 10:50:08 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:50:08 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:50:08 2026 - gateway "uWSGI http 1" has been buried (pid: 1824148)
Fri Jan 9 10:50:08 2026 - ...gracefully killing workers...
Fri Jan 9 10:50:08 2026 - Gracefully killing worker 2 (pid: 1824144)...
Fri Jan 9 10:50:08 2026 - Gracefully killing worker 1 (pid: 1824143)...
Fri Jan 9 10:50:09 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:50:09 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:50:09 2026 - binary reloading uWSGI...
Fri Jan 9 10:50:09 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:09 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:50:09 2026 - found fd 4 mapped to socket 0 (127.0.0.1:45333)
Fri Jan 9 10:50:09 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:50:09 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:50:09 2026] ***
Fri Jan 9 10:50:09 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:50:09 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:50:09 2026 - nodename: ubserver
Fri Jan 9 10:50:09 2026 - machine: x86_64
Fri Jan 9 10:50:09 2026 - clock source: unix
Fri Jan 9 10:50:09 2026 - pcre jit disabled
Fri Jan 9 10:50:09 2026 - detected number of CPU cores: 12
Fri Jan 9 10:50:09 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:09 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:50:09 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:09 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:09 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:09 2026 - your processes number limit is 61306
Fri Jan 9 10:50:09 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:50:09 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:50:09 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:50:09 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:50:09 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:50:09 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:50:09 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45961 (port auto-assigned) fd 3
Fri Jan 9 10:50:09 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:09 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:09 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:50:09 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:50:09 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:50:09 2026 - Python main interpreter initialized at 0x78e141d52d10
Fri Jan 9 10:50:09 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:09 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:09 2026 - python threads support enabled
Fri Jan 9 10:50:09 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:50:09 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:50:09 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:50:09 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:50:09 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:50:09 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:50:09 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x78e141d52d10 pid: 1782404 (default app)
Fri Jan 9 10:50:09 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:09 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:09 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:50:09 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:50:09 2026 - spawned uWSGI worker 1 (pid: 1824879, cores: 2)
Fri Jan 9 10:50:09 2026 - spawned uWSGI worker 2 (pid: 1824880, cores: 2)
Fri Jan 9 10:50:09 2026 - spawned uWSGI http 1 (pid: 1824883)
Fri Jan 9 10:50:09 2026 - Python auto-reloader enabled
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: V4PysTsq/lNT3/wFazWDLWyc0dGuq2JMkrVDkOzmHWSj2Ei3LR...
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 03b9d5be793ca95eebdac7c887a610f60dfe77f2
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 03b9d5be793ca95eebdac7c887a610f60dfe77f2
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:50:13 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 10:50:13 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 10:50:13 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 10:50:13 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:50:13 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:50:13 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:50:13 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:50:13 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:50:13 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:50:13 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:50:13 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:50:13 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:50:13 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:50:13 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:50:13 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:50:13 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:13 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.45秒
2026-01-09 10:50:13 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:50:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:50:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:50:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:50:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:50:14 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:50:14 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:50:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.42秒
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:50:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:50:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:50:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 10:50:15 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:50:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:16 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:50:16 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:50:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:16 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:50:16 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:50:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:50:16 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:50:16 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:50:16 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:50:16 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:50:16 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 217 条公告
2026-01-09 10:50:16 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 217 -> 1 条公告
2026-01-09 10:50:16 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1 -> 1 条公告
2026-01-09 10:50:16 - gx_gp_monitor.main - INFO - 筛选后剩余 1 条公告
2026-01-09 10:50:16 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:50:16 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 1, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 216, 'date_filtered': 1083, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='大化瑶族自治县2025年度国土变更(日常变更)调查项目合同公告', publish_date=datetime.datetime(2026, 1, 9, 10, 2, 19), purchase_name='大化瑶族自治县自然资源局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=NSAtgiyTEYUaFq3dcNs6ig==', source_code='ZcyAnnouncement3', source_name='合同公告', announcement_type=<AnnouncementType.CONTRACT: 'contract'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 50, 14, 210634), created_at=None, updated_at=None, content_hash='9270849ec53ce195b3fc4de103ef656a', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
2026-01-09 10:50:16 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 10:50:16 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
2026-01-09 10:50:16 - gx_gp_monitor.notification.wechat - INFO - Markdown消息发送成功
{address space usage: 241356800 bytes/230MB} {rss usage: 54054912 bytes/51MB} [pid: 1824880|app: 0|req: 1/1] 113.108.92.100 () {36 vars in 679 bytes} [Fri Jan 9 10:50:13 2026] POST /api/v1/wechat/callback?msg_signature=03b9d5be793ca95eebdac7c887a610f60dfe77f2&timestamp=1767927013&nonce=1768112259 => generated 626 bytes in 3651 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 10:50:36 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:50:36 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:50:36 2026 - gateway "uWSGI http 1" has been buried (pid: 1824883)
Fri Jan 9 10:50:36 2026 - ...gracefully killing workers...
Fri Jan 9 10:50:36 2026 - Gracefully killing worker 2 (pid: 1824880)...
Fri Jan 9 10:50:36 2026 - Gracefully killing worker 1 (pid: 1824879)...
Fri Jan 9 10:50:37 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:50:37 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:50:37 2026 - binary reloading uWSGI...
Fri Jan 9 10:50:37 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:37 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:50:37 2026 - found fd 3 mapped to socket 0 (127.0.0.1:45961)
Fri Jan 9 10:50:37 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:50:37 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:50:37 2026] ***
Fri Jan 9 10:50:37 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:50:37 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:50:37 2026 - nodename: ubserver
Fri Jan 9 10:50:37 2026 - machine: x86_64
Fri Jan 9 10:50:37 2026 - clock source: unix
Fri Jan 9 10:50:37 2026 - pcre jit disabled
Fri Jan 9 10:50:37 2026 - detected number of CPU cores: 12
Fri Jan 9 10:50:37 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:37 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:50:37 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:37 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:37 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:50:37 2026 - your processes number limit is 61306
Fri Jan 9 10:50:37 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:50:37 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:50:37 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:50:37 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:50:37 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:50:37 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:50:37 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:38249 (port auto-assigned) fd 4
Fri Jan 9 10:50:37 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:37 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:37 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:50:37 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:50:37 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:50:37 2026 - Python main interpreter initialized at 0x744f9e152d10
Fri Jan 9 10:50:37 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:37 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:37 2026 - python threads support enabled
Fri Jan 9 10:50:37 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:50:37 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:50:37 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:50:37 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:50:38 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:50:38 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:50:38 2026 - WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x744f9e152d10 pid: 1782404 (default app)
Fri Jan 9 10:50:38 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:50:38 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:50:38 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:50:38 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:50:38 2026 - spawned uWSGI worker 1 (pid: 1825004, cores: 2)
Fri Jan 9 10:50:38 2026 - spawned uWSGI worker 2 (pid: 1825005, cores: 2)
Fri Jan 9 10:50:38 2026 - spawned uWSGI http 1 (pid: 1825008)
Fri Jan 9 10:50:38 2026 - Python auto-reloader enabled
Fri Jan 9 10:52:41 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:52:41 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:52:41 2026 - gateway "uWSGI http 1" has been buried (pid: 1825008)
Fri Jan 9 10:52:41 2026 - ...gracefully killing workers...
Fri Jan 9 10:52:41 2026 - Gracefully killing worker 2 (pid: 1825005)...
Fri Jan 9 10:52:41 2026 - Gracefully killing worker 1 (pid: 1825004)...
Fri Jan 9 10:52:42 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:52:42 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:52:42 2026 - binary reloading uWSGI...
Fri Jan 9 10:52:42 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:42 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:52:42 2026 - found fd 4 mapped to socket 0 (127.0.0.1:38249)
Fri Jan 9 10:52:42 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:52:42 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:52:42 2026] ***
Fri Jan 9 10:52:42 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:52:42 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:52:42 2026 - nodename: ubserver
Fri Jan 9 10:52:42 2026 - machine: x86_64
Fri Jan 9 10:52:42 2026 - clock source: unix
Fri Jan 9 10:52:42 2026 - pcre jit disabled
Fri Jan 9 10:52:42 2026 - detected number of CPU cores: 12
Fri Jan 9 10:52:42 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:42 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:52:42 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:42 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:42 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:42 2026 - your processes number limit is 61306
Fri Jan 9 10:52:42 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:52:42 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:52:42 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:52:42 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:52:42 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:52:42 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:52:42 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:40383 (port auto-assigned) fd 3
Fri Jan 9 10:52:42 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:42 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:42 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:52:42 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:52:42 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:52:42 2026 - Python main interpreter initialized at 0x7125be152d10
Fri Jan 9 10:52:42 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:42 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:42 2026 - python threads support enabled
Fri Jan 9 10:52:42 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:52:42 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:52:42 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:52:42 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:52:42 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:52:42 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:52:42 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7125be152d10 pid: 1782404 (default app)
Fri Jan 9 10:52:42 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:42 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:42 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:52:42 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:52:42 2026 - spawned uWSGI worker 1 (pid: 1825625, cores: 2)
Fri Jan 9 10:52:42 2026 - spawned uWSGI worker 2 (pid: 1825626, cores: 2)
Fri Jan 9 10:52:42 2026 - Python auto-reloader enabled
Fri Jan 9 10:52:42 2026 - spawned uWSGI http 1 (pid: 1825630)
Fri Jan 9 10:52:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:52:55 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:52:55 2026 - gateway "uWSGI http 1" has been buried (pid: 1825630)
Fri Jan 9 10:52:55 2026 - ...gracefully killing workers...
Fri Jan 9 10:52:55 2026 - Gracefully killing worker 2 (pid: 1825626)...
Fri Jan 9 10:52:55 2026 - Gracefully killing worker 1 (pid: 1825625)...
Fri Jan 9 10:52:56 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:52:56 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:52:56 2026 - binary reloading uWSGI...
Fri Jan 9 10:52:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:56 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:52:56 2026 - found fd 3 mapped to socket 0 (127.0.0.1:40383)
Fri Jan 9 10:52:56 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:52:56 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:52:56 2026] ***
Fri Jan 9 10:52:56 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:52:56 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:52:56 2026 - nodename: ubserver
Fri Jan 9 10:52:56 2026 - machine: x86_64
Fri Jan 9 10:52:56 2026 - clock source: unix
Fri Jan 9 10:52:56 2026 - pcre jit disabled
Fri Jan 9 10:52:56 2026 - detected number of CPU cores: 12
Fri Jan 9 10:52:56 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:56 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:52:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:56 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:52:56 2026 - your processes number limit is 61306
Fri Jan 9 10:52:56 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:52:56 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:52:56 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:52:56 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:52:56 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:52:56 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:52:56 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:33369 (port auto-assigned) fd 4
Fri Jan 9 10:52:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:56 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:52:56 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:52:56 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:52:56 2026 - Python main interpreter initialized at 0x7b887f752d10
Fri Jan 9 10:52:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:56 2026 - python threads support enabled
Fri Jan 9 10:52:56 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:52:56 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:52:56 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:52:56 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:52:56 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:52:56 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:52:56 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7b887f752d10 pid: 1782404 (default app)
Fri Jan 9 10:52:56 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:52:56 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:52:56 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:52:56 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:52:56 2026 - spawned uWSGI worker 1 (pid: 1825660, cores: 2)
Fri Jan 9 10:52:56 2026 - spawned uWSGI worker 2 (pid: 1825661, cores: 2)
Fri Jan 9 10:52:56 2026 - Python auto-reloader enabled
Fri Jan 9 10:52:56 2026 - spawned uWSGI http 1 (pid: 1825666)
Fri Jan 9 10:53:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:53:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:53:19 2026 - gateway "uWSGI http 1" has been buried (pid: 1825666)
Fri Jan 9 10:53:19 2026 - ...gracefully killing workers...
Fri Jan 9 10:53:19 2026 - Gracefully killing worker 1 (pid: 1825660)...
Fri Jan 9 10:53:19 2026 - Gracefully killing worker 2 (pid: 1825661)...
Fri Jan 9 10:53:20 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:53:20 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:53:20 2026 - binary reloading uWSGI...
Fri Jan 9 10:53:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:20 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:53:20 2026 - found fd 4 mapped to socket 0 (127.0.0.1:33369)
Fri Jan 9 10:53:20 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:53:20 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:53:20 2026] ***
Fri Jan 9 10:53:20 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:53:20 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:53:20 2026 - nodename: ubserver
Fri Jan 9 10:53:20 2026 - machine: x86_64
Fri Jan 9 10:53:20 2026 - clock source: unix
Fri Jan 9 10:53:20 2026 - pcre jit disabled
Fri Jan 9 10:53:20 2026 - detected number of CPU cores: 12
Fri Jan 9 10:53:20 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:20 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:53:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:20 2026 - your processes number limit is 61306
Fri Jan 9 10:53:20 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:53:20 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:53:20 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:53:20 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:53:20 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:53:20 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:53:20 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:32943 (port auto-assigned) fd 3
Fri Jan 9 10:53:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:20 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:53:20 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:53:20 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:53:20 2026 - Python main interpreter initialized at 0x7f6714552d10
Fri Jan 9 10:53:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:20 2026 - python threads support enabled
Fri Jan 9 10:53:20 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:53:20 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:53:20 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:53:20 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:53:20 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:53:20 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:53:20 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7f6714552d10 pid: 1782404 (default app)
Fri Jan 9 10:53:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:20 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:53:20 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:53:20 2026 - spawned uWSGI worker 1 (pid: 1825809, cores: 2)
Fri Jan 9 10:53:20 2026 - spawned uWSGI worker 2 (pid: 1825810, cores: 2)
Fri Jan 9 10:53:20 2026 - spawned uWSGI http 1 (pid: 1825814)
Fri Jan 9 10:53:20 2026 - Python auto-reloader enabled
Fri Jan 9 10:53:45 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:53:45 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:53:45 2026 - gateway "uWSGI http 1" has been buried (pid: 1825814)
Fri Jan 9 10:53:45 2026 - ...gracefully killing workers...
Fri Jan 9 10:53:45 2026 - Gracefully killing worker 1 (pid: 1825809)...
Fri Jan 9 10:53:45 2026 - Gracefully killing worker 2 (pid: 1825810)...
Fri Jan 9 10:53:46 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:53:46 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:53:46 2026 - binary reloading uWSGI...
Fri Jan 9 10:53:46 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:46 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:53:46 2026 - found fd 3 mapped to socket 0 (127.0.0.1:32943)
Fri Jan 9 10:53:46 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:53:46 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:53:46 2026] ***
Fri Jan 9 10:53:46 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:53:46 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:53:46 2026 - nodename: ubserver
Fri Jan 9 10:53:46 2026 - machine: x86_64
Fri Jan 9 10:53:46 2026 - clock source: unix
Fri Jan 9 10:53:46 2026 - pcre jit disabled
Fri Jan 9 10:53:46 2026 - detected number of CPU cores: 12
Fri Jan 9 10:53:46 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:46 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:53:46 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:46 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:46 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:53:46 2026 - your processes number limit is 61306
Fri Jan 9 10:53:46 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:53:46 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:53:46 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:53:46 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:53:46 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:53:46 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:53:46 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:45363 (port auto-assigned) fd 4
Fri Jan 9 10:53:46 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:46 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:46 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:53:46 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:53:46 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:53:46 2026 - Python main interpreter initialized at 0x7c762f152d10
Fri Jan 9 10:53:46 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:46 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:46 2026 - python threads support enabled
Fri Jan 9 10:53:46 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:53:46 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:53:46 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:53:46 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:53:46 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:53:46 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:53:46 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7c762f152d10 pid: 1782404 (default app)
Fri Jan 9 10:53:46 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:53:46 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:53:46 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:53:46 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:53:46 2026 - spawned uWSGI worker 1 (pid: 1825892, cores: 2)
Fri Jan 9 10:53:46 2026 - spawned uWSGI worker 2 (pid: 1825893, cores: 2)
Fri Jan 9 10:53:46 2026 - spawned uWSGI http 1 (pid: 1825897)
Fri Jan 9 10:53:46 2026 - Python auto-reloader enabled
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: Uo4QU84T+D2cpkopqB0HZAhYIxAzg7bxLwDzgVH/QDLap7sKHL...
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b100a5fed3e9702af41bd289efb1160218ea3759
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b100a5fed3e9702af41bd289efb1160218ea3759
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:54:03 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 10:54:03 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 10:54:03 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 10:54:03 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 10:54:03 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 10:54:03 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 10:54:03 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 10:54:03 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 10:54:03 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 10:54:03 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 10:54:03 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 10:54:03 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 10:54:03 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 10:54:03 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 10:54:03 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: Uo4QU84T+D2cpkopqB0HZAhYIxAzg7bxLwDzgVH/QDLap7sKHL...
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b100a5fed3e9702af41bd289efb1160218ea3759
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b100a5fed3e9702af41bd289efb1160218ea3759
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 10:54:08 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 10:54:08 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 10:54:08 - gx_gp_monitor.wechat.message_handler - INFO - 检测到重复请求: user=WeiJueSen, content=大化...
{address space usage: 247705600 bytes/236MB} {rss usage: 59969536 bytes/57MB} [pid: 1825892|app: 0|req: 2/1] 106.55.201.217 () {36 vars in 679 bytes} [Fri Jan 9 10:54:08 2026] POST /api/v1/wechat/callback?msg_signature=b100a5fed3e9702af41bd289efb1160218ea3759&timestamp=1767927243&nonce=1768396874 => generated 626 bytes in 1 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 1)
2026-01-09 10:54:34 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.40秒
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 10:54:34 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 10:54:34 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 10:54:34 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:54:34 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 10:54:35 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 10:54:35 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 10:54:35 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.44秒
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 10:54:35 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:54:35 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 10:54:36 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 10:54:36 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 10:54:36 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 10:54:36 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 10:54:36 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 10:54:36 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-09 10:54:36 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 10:54:36 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 10:54:36 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 10:54:36 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 220 条公告
2026-01-09 10:54:36 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 220 -> 1 条公告
2026-01-09 10:54:36 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1 -> 1 条公告
2026-01-09 10:54:36 - gx_gp_monitor.main - INFO - 筛选后剩余 1 条公告
2026-01-09 10:54:36 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 10:54:36 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 1, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 219, 'date_filtered': 1080, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='大化瑶族自治县2025年度国土变更(日常变更)调查项目合同公告', publish_date=datetime.datetime(2026, 1, 9, 10, 2, 19), purchase_name='大化瑶族自治县自然资源局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=NSAtgiyTEYUaFq3dcNs6ig==', source_code='ZcyAnnouncement3', source_name='合同公告', announcement_type=<AnnouncementType.CONTRACT: 'contract'>, crawled_at=datetime.datetime(2026, 1, 9, 10, 54, 34, 478758), created_at=None, updated_at=None, content_hash='9270849ec53ce195b3fc4de103ef656a', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
2026-01-09 10:54:36 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 10:54:37 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
2026-01-09 10:54:37 - gx_gp_monitor.notification.wechat - INFO - Markdown消息发送成功
{address space usage: 241319936 bytes/230MB} {rss usage: 53989376 bytes/51MB} [pid: 1825892|app: 0|req: 2/2] 183.47.117.101 () {36 vars in 678 bytes} [Fri Jan 9 10:54:03 2026] POST /api/v1/wechat/callback?msg_signature=b100a5fed3e9702af41bd289efb1160218ea3759&timestamp=1767927243&nonce=1768396874 => generated 626 bytes in 33741 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 10:55:15 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:55:15 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:55:15 2026 - gateway "uWSGI http 1" has been buried (pid: 1825897)
Fri Jan 9 10:55:15 2026 - ...gracefully killing workers...
Fri Jan 9 10:55:15 2026 - Gracefully killing worker 1 (pid: 1825892)...
Fri Jan 9 10:55:15 2026 - Gracefully killing worker 2 (pid: 1825893)...
Fri Jan 9 10:55:16 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:55:16 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:55:16 2026 - binary reloading uWSGI...
Fri Jan 9 10:55:16 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:16 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:55:16 2026 - found fd 4 mapped to socket 0 (127.0.0.1:45363)
Fri Jan 9 10:55:16 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:55:16 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:55:16 2026] ***
Fri Jan 9 10:55:16 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:55:16 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:55:16 2026 - nodename: ubserver
Fri Jan 9 10:55:16 2026 - machine: x86_64
Fri Jan 9 10:55:16 2026 - clock source: unix
Fri Jan 9 10:55:16 2026 - pcre jit disabled
Fri Jan 9 10:55:16 2026 - detected number of CPU cores: 12
Fri Jan 9 10:55:16 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:16 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:55:16 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:16 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:16 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:16 2026 - your processes number limit is 61306
Fri Jan 9 10:55:16 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:55:16 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:55:16 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:55:16 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:55:16 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:55:16 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:55:16 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:36675 (port auto-assigned) fd 3
Fri Jan 9 10:55:16 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:16 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:16 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:55:16 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:55:16 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:55:16 2026 - Python main interpreter initialized at 0x7af140b52d10
Fri Jan 9 10:55:16 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:16 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:16 2026 - python threads support enabled
Fri Jan 9 10:55:16 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:55:16 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:55:16 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:55:16 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:55:16 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:55:16 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:55:16 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7af140b52d10 pid: 1782404 (default app)
Fri Jan 9 10:55:16 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:16 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:16 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:55:16 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:55:16 2026 - spawned uWSGI worker 1 (pid: 1826499, cores: 2)
Fri Jan 9 10:55:16 2026 - spawned uWSGI worker 2 (pid: 1826500, cores: 2)
Fri Jan 9 10:55:16 2026 - spawned uWSGI http 1 (pid: 1826503)
Fri Jan 9 10:55:16 2026 - Python auto-reloader enabled
Fri Jan 9 10:55:33 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:55:33 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:55:33 2026 - gateway "uWSGI http 1" has been buried (pid: 1826503)
Fri Jan 9 10:55:33 2026 - ...gracefully killing workers...
Fri Jan 9 10:55:33 2026 - Gracefully killing worker 2 (pid: 1826500)...
Fri Jan 9 10:55:33 2026 - Gracefully killing worker 1 (pid: 1826499)...
Fri Jan 9 10:55:34 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:55:34 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:55:34 2026 - binary reloading uWSGI...
Fri Jan 9 10:55:34 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:34 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:55:34 2026 - found fd 3 mapped to socket 0 (127.0.0.1:36675)
Fri Jan 9 10:55:34 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:55:34 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:55:34 2026] ***
Fri Jan 9 10:55:34 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:55:34 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:55:34 2026 - nodename: ubserver
Fri Jan 9 10:55:34 2026 - machine: x86_64
Fri Jan 9 10:55:34 2026 - clock source: unix
Fri Jan 9 10:55:34 2026 - pcre jit disabled
Fri Jan 9 10:55:34 2026 - detected number of CPU cores: 12
Fri Jan 9 10:55:34 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:34 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:55:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:34 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:55:34 2026 - your processes number limit is 61306
Fri Jan 9 10:55:34 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:55:34 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:55:34 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:55:34 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:55:34 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:55:34 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:55:34 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:39711 (port auto-assigned) fd 4
Fri Jan 9 10:55:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:34 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:55:34 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:55:34 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:55:34 2026 - Python main interpreter initialized at 0x7f31b8f52d10
Fri Jan 9 10:55:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:34 2026 - python threads support enabled
Fri Jan 9 10:55:34 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:55:34 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:55:34 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:55:34 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:55:34 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:55:34 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:55:34 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7f31b8f52d10 pid: 1782404 (default app)
Fri Jan 9 10:55:34 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:55:34 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:55:34 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:55:34 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:55:34 2026 - spawned uWSGI worker 1 (pid: 1826565, cores: 2)
Fri Jan 9 10:55:34 2026 - spawned uWSGI worker 2 (pid: 1826566, cores: 2)
Fri Jan 9 10:55:34 2026 - spawned uWSGI http 1 (pid: 1826569)
Fri Jan 9 10:55:34 2026 - Python auto-reloader enabled
Fri Jan 9 10:56:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:56:19 2026 - [uwsgi-python-reloader] module/file /home/v6ole/pyproject/GX-gp-notify/gx_gp_monitor/wechat/message_handler.py has been modified
Fri Jan 9 10:56:19 2026 - gateway "uWSGI http 1" has been buried (pid: 1826569)
Fri Jan 9 10:56:19 2026 - ...gracefully killing workers...
Fri Jan 9 10:56:19 2026 - Gracefully killing worker 2 (pid: 1826566)...
Fri Jan 9 10:56:19 2026 - Gracefully killing worker 1 (pid: 1826565)...
Fri Jan 9 10:56:20 2026 - worker 1 buried after 1 seconds
Fri Jan 9 10:56:20 2026 - worker 2 buried after 1 seconds
Fri Jan 9 10:56:20 2026 - binary reloading uWSGI...
Fri Jan 9 10:56:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:56:20 2026 - closing all non-uwsgi socket fds > 2 (max_fd = 1024)...
Fri Jan 9 10:56:20 2026 - found fd 4 mapped to socket 0 (127.0.0.1:39711)
Fri Jan 9 10:56:20 2026 - running /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
[uWSGI] getting INI configuration from /home/v6ole/pyproject/GX-gp-notify/uwsgi_wechat.ini
Fri Jan 9 10:56:20 2026 - *** Starting uWSGI 2.0.31 (64bit) on [Fri Jan 9 10:56:20 2026] ***
Fri Jan 9 10:56:20 2026 - compiled with version: 14.2.0 on 06 January 2026 09:35:56
Fri Jan 9 10:56:20 2026 - os: Linux-6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025
Fri Jan 9 10:56:20 2026 - nodename: ubserver
Fri Jan 9 10:56:20 2026 - machine: x86_64
Fri Jan 9 10:56:20 2026 - clock source: unix
Fri Jan 9 10:56:20 2026 - pcre jit disabled
Fri Jan 9 10:56:20 2026 - detected number of CPU cores: 12
Fri Jan 9 10:56:20 2026 - current working directory: /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:56:20 2026 - detected binary path: /home/v6ole/pyproject/GX-gp-notify/venv/bin/uwsgi
Fri Jan 9 10:56:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:56:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:56:20 2026 - chdir() to /home/v6ole/pyproject/GX-gp-notify
Fri Jan 9 10:56:20 2026 - your processes number limit is 61306
Fri Jan 9 10:56:20 2026 - your memory page size is 4096 bytes
Fri Jan 9 10:56:20 2026 - *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
Fri Jan 9 10:56:20 2026 - detected max file descriptor number: 1024
Fri Jan 9 10:56:20 2026 - lock engine: pthread robust mutexes
Fri Jan 9 10:56:20 2026 - thunder lock: disabled (you can enable it with --thunder-lock)
Fri Jan 9 10:56:20 2026 - uWSGI http bound on 0.0.0.0:18001 # 指定 uWSGI 监听的 HTTP 地址和端口 fd 5
Fri Jan 9 10:56:20 2026 - uwsgi socket 0 bound to TCP address 127.0.0.1:43283 (port auto-assigned) fd 3
Fri Jan 9 10:56:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:56:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:56:20 2026 - Python version: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:39:52) [GCC 14.3.0]
Fri Jan 9 10:56:20 2026 - PEP 405 virtualenv detected: /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:56:20 2026 - Set PythonHome to /home/v6ole/pyproject/GX-gp-notify/venv
Fri Jan 9 10:56:20 2026 - Python main interpreter initialized at 0x70e078152d10
Fri Jan 9 10:56:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:56:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:56:20 2026 - python threads support enabled
Fri Jan 9 10:56:20 2026 - your server socket listen backlog is limited to 100 connections
Fri Jan 9 10:56:20 2026 - your mercy for graceful operations on workers is 60 seconds
Fri Jan 9 10:56:20 2026 - mapped 250032 bytes (244 KB) for 4 cores
Fri Jan 9 10:56:20 2026 - *** Operational MODE: preforking+threaded ***
2026-01-09 10:56:20 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-09 10:56:20 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
Fri Jan 9 10:56:20 2026 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x70e078152d10 pid: 1782404 (default app)
Fri Jan 9 10:56:20 2026 - uWSGI running as root, you can use --uid/--gid/--chroot options
Fri Jan 9 10:56:20 2026 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Fri Jan 9 10:56:20 2026 - *** uWSGI is running in multiple interpreter mode ***
Fri Jan 9 10:56:20 2026 - gracefully (RE)spawned uWSGI master process (pid: 1782404)
Fri Jan 9 10:56:20 2026 - spawned uWSGI worker 1 (pid: 1826904, cores: 2)
Fri Jan 9 10:56:20 2026 - spawned uWSGI worker 2 (pid: 1826905, cores: 2)
Fri Jan 9 10:56:20 2026 - spawned uWSGI http 1 (pid: 1826908)
Fri Jan 9 10:56:20 2026 - Python auto-reloader enabled
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: vfWd53Wgci4LR2cr4AKLqHvpLtiIs8tYOmScdA5SJMkB8UFC+5...
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: ff509b0226f285b5409b13fed5a910e818fb4ac0
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: ff509b0226f285b5409b13fed5a910e818fb4ac0
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 11:02:44 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 11:02:44 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 11:02:44 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 11:02:44 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 11:02:44 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 11:02:44 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 11:02:44 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 11:02:44 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 11:02:44 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 11:02:44 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 11:02:44 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 11:02:44 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 11:02:44 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 11:02:44 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 11:02:44 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: vfWd53Wgci4LR2cr4AKLqHvpLtiIs8tYOmScdA5SJMkB8UFC+5...
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: ff509b0226f285b5409b13fed5a910e818fb4ac0
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: ff509b0226f285b5409b13fed5a910e818fb4ac0
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-09 11:02:49 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=大化..., user=WeiJueSen
2026-01-09 11:02:49 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 大化, user: WeiJueSen
2026-01-09 11:02:49 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 关键词搜索: ['大化']
2026-01-09 11:02:49 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-09 11:02:49 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-09 11:02:49 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-09 11:02:49 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-09 11:02:49 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-09 11:02:49 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-09 11:02:49 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-09 11:02:49 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-09 11:02:49 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-09 11:02:49 - gx_gp_monitor.main - INFO - 开始执行搜索任务 (手动搜索: True)
2026-01-09 11:02:49 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-09 11:02:49 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-09 11:02:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-09 11:02:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-09 11:02:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-09 11:02:50 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-09 11:02:50 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-09 11:02:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-09 11:02:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-09 11:02:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-09 11:02:51 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-09 11:02:51 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-09 11:02:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-09 11:02:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-09 11:02:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-09 11:02:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-09 11:02:52 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-09 11:02:52 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-09 11:02:52 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-09 11:02:52 - gx_gp_monitor.main - INFO - 搜索到 1300 条原始公告
2026-01-09 11:02:52 - gx_gp_monitor.main - INFO - 手动搜索模式:跳过数据库保存
2026-01-09 11:02:52 - gx_gp_monitor.filters.filters - INFO - 日期筛选: 1300 -> 237 条公告
2026-01-09 11:02:52 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 237 -> 1 条公告
2026-01-09 11:02:52 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1 -> 1 条公告
2026-01-09 11:02:52 - gx_gp_monitor.main - INFO - 筛选后剩余 1 条公告
2026-01-09 11:02:52 - gx_gp_monitor.main - INFO - 手动爬取模式:跳过筛选后公告的数据库保存
2026-01-09 11:02:52 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 1, 'saved': 0, 'markdown_generated': False, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 236, 'date_filtered': 1063, 'duplicate_filtered': 0, 'source_filtered': 0}, 'filtered_announcements': [Announcement(id=None, title='大化瑶族自治县2025年度国土变更(日常变更)调查项目合同公告', publish_date=datetime.datetime(2026, 1, 9, 10, 2, 19), purchase_name='大化瑶族自治县自然资源局', content_url='https://zfcg.gxzf.gov.cn/site/detail?parentId=66485&articleId=NSAtgiyTEYUaFq3dcNs6ig==', source_code='ZcyAnnouncement3', source_name='合同公告', announcement_type=<AnnouncementType.CONTRACT: 'contract'>, crawled_at=datetime.datetime(2026, 1, 9, 11, 2, 50, 521373), created_at=None, updated_at=None, content_hash='9270849ec53ce195b3fc4de103ef656a', keyword_matched=True, date_filtered=True, is_new=True, is_today=True)]}
2026-01-09 11:02:52 - gx_gp_monitor.notification.wechat - INFO - 企业微信服务初始化完成
2026-01-09 11:02:53 - gx_gp_monitor.notification.wechat - INFO - 成功获取企业微信访问令牌
2026-01-09 11:02:53 - gx_gp_monitor.notification.wechat - INFO - Markdown消息发送成功
{address space usage: 240279552 bytes/229MB} {rss usage: 53104640 bytes/50MB} [pid: 1826904|app: 0|req: 1/1] 106.55.202.215 () {36 vars in 679 bytes} [Fri Jan 9 11:02:49 2026] POST /api/v1/wechat/callback?msg_signature=ff509b0226f285b5409b13fed5a910e818fb4ac0&timestamp=1767927764&nonce=1768585088 => generated 626 bytes in 3710 msecs (HTTP/1.1 200) 2 headers in 80 bytes (1 switches on core 0)
Fri Jan 9 11:03:14 2026 - *** HARAKIRI ON WORKER 2 (pid: 1826905, try: 1, graceful: yes) ***
Fri Jan 9 11:03:14 2026 - HARAKIRI !!! worker 2 status !!!
Fri Jan 9 11:03:14 2026 - HARAKIRI [core 0] 183.47.98.168 - POST /api/v1/wechat/callback?msg_signature=ff509b0226f285b5409b13fed5a910e818fb4ac0&timestamp=1767927764&nonce=1768585088 since 1767927764
Fri Jan 9 11:03:14 2026 - HARAKIRI !!! end of worker 2 status !!!
Fri Jan 9 11:03:14 2026 - HARAKIRI triggered by worker 2 core 0 !!!
Fri Jan 9 11:03:15 2026 - DAMN ! worker 2 (pid: 1826905) died, killed by signal 9 :( trying respawn ...
Fri Jan 9 11:03:15 2026 - Respawned uWSGI worker 2 (new pid: 1829122)