|
преди 14 часа | |
---|---|---|
.. | ||
README.md | преди 14 часа | |
cache_manager.py | преди 14 часа | |
image_identifier.py | преди 1 седмица | |
indentify.py | преди 17 часа | |
install_deps.sh | преди 1 седмица | |
multi_thread_scheduler.py | преди 14 часа | |
requirements.txt | преди 14 часа | |
start_scheduler.sh | преди 14 часа | |
system_monitor.py | преди 14 часа | |
video_identifier.py | преди 14 часа |
这是一个多线程内容识别调度器,用于处理图片和视频内容识别任务。
# 安装Python依赖
pip install -r requirements.txt
# 或者使用uv(推荐)
uv sync
# 启动调度器
./start_scheduler.sh start
# 查看状态
./start_scheduler.sh status
# 停止调度器
./start_scheduler.sh stop
# 重启调度器
./start_scheduler.sh restart
监控模式会自动检测进程崩溃、内存异常等问题,并自动重启服务:
# 启动监控模式
./start_scheduler.sh monitor
# 停止监控模式
./start_scheduler.sh stop-monitor
监控模式特性:
对于更高级的监控需求,可以使用独立的系统监控脚本:
# 启动系统监控
python3 system_monitor.py
系统监控功能:
管理视频识别过程中的临时缓存文件:
# 查看缓存状态
./start_scheduler.sh cache-status
# 清理过期缓存文件
./start_scheduler.sh cache-cleanup
# 清理所有缓存文件
./start_scheduler.sh cache-clean
# 或者直接使用Python脚本
python3 cache_manager.py status
python3 cache_manager.py cleanup
缓存管理功能:
在项目根目录创建 .env
文件:
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=your_username
DB_PASSWORD=your_password
DB_NAME=your_database
# API密钥
GEMINI_API_KEY=your_gemini_api_key
COZE_API_KEY=your_coze_api_key
# 其他配置
LOG_LEVEL=INFO
在 multi_thread_scheduler.py
中可以调整以下参数:
class MultiThreadScheduler:
def __init__(self, thread_count=5, interval_minutes=2):
# thread_count: 工作线程数量
# interval_minutes: 处理间隔(分钟)
self.max_memory_mb = 2048 # 最大内存使用量(MB)
self.gc_interval = 300 # 垃圾回收间隔(秒)
在 system_monitor.py
中可以调整监控参数:
self.config = {
'max_memory_mb': 2048, # 最大内存使用量
'max_cpu_percent': 80, # 最大CPU使用率
'max_disk_percent': 90, # 最大磁盘使用率
'check_interval': 30, # 检查间隔(秒)
'restart_delay': 60, # 重启延迟(秒)
'max_restarts': 5, # 最大重启次数
}
如果遇到 "double free or corruption (!prev)" 错误:
使用监控模式:
./start_scheduler.sh monitor
bash
./start_scheduler.sh status
查看详细日志:
tail -f logs/scheduler_*.log
tail -f logs/system_monitor.log
bash
./start_scheduler.sh restart
进程启动失败
内存使用过高
max_memory_mb
参数API调用失败
logs/scheduler_stdout.log
- 调度器标准输出logs/scheduler_*.log
- 调度器日志文件logs/system_monitor.log
- 系统监控日志logs/monitor.log
- 监控模式日志thread_count
如果遇到问题,请: