merge: accept remote fixes
This commit is contained in:
@@ -27,8 +27,12 @@ if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .
|
||||
fi
|
||||
|
||||
# 启动全自动化监控(集成git pull/处理/git push)
|
||||
# 使用tee同时输出到stdout和日志文件,这样聊天窗口能看到,日志也有记录
|
||||
echo "🚀 启动 $AGENT_NAME 监控..."
|
||||
nohup ./management/workflow/scripts/agent_monitor_fixed.sh "$AGENT_NAME" > "${AGENT_NAME}_monitor.log" 2>&1 &
|
||||
# 先创建日志文件
|
||||
touch "${AGENT_NAME}_monitor.log"
|
||||
# 使用tee复制一份输出到日志文件,同时保持stdout输出到聊天窗口
|
||||
nohup bash -c "./management/workflow/scripts/agent_monitor_fixed.sh '$AGENT_NAME' 2>&1 | tee -a '${AGENT_NAME}_monitor.log'" &
|
||||
|
||||
# 检查是否启动成功
|
||||
sleep 2 # 给进程一点启动时间
|
||||
|
||||
@@ -24,12 +24,19 @@ LOG_FILE="${AGENT}_monitor.log"
|
||||
AGENT_DIR="management/agents/${AGENT}"
|
||||
mkdir -p "$AGENT_DIR"
|
||||
|
||||
echo "=========================================" >> "$LOG_FILE"
|
||||
echo "Agent监控启动 - $AGENT" >> "$LOG_FILE"
|
||||
echo "启动时间: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
||||
echo "监控目录: $AGENT_DIR" >> "$LOG_FILE"
|
||||
echo "检查间隔: 30秒" >> "$LOG_FILE"
|
||||
echo "=========================================" >> "$LOG_FILE"
|
||||
# 函数:同时输出到stdout和日志文件
|
||||
log_info() {
|
||||
echo "$1"
|
||||
echo "$1" >> "$LOG_FILE"
|
||||
}
|
||||
|
||||
log_info "========================================="
|
||||
log_info "Agent监控启动 - $AGENT"
|
||||
log_info "启动时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
log_info "监控目录: $AGENT_DIR"
|
||||
log_info "检查间隔: 30秒"
|
||||
log_info "自动git pull: 每次检查前自动拉取"
|
||||
log_info "========================================="
|
||||
|
||||
echo "🚀 $AGENT Agent监控器启动"
|
||||
echo "📊 监控目录: $AGENT_DIR"
|
||||
@@ -41,12 +48,11 @@ while true; do
|
||||
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
# 1. 自动git pull获取最新任务
|
||||
echo "[$TIMESTAMP] 🔄 自动git pull..." >> "$LOG_FILE"
|
||||
git pull origin main >> "$LOG_FILE" 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "[$TIMESTAMP] ✅ git pull成功" >> "$LOG_FILE"
|
||||
log_info "[$TIMESTAMP] ✅ git pull成功"
|
||||
else
|
||||
echo "[$TIMESTAMP] ⚠️ git pull失败,继续检查" >> "$LOG_FILE"
|
||||
log_info "[$TIMESTAMP] ⚠️ git pull失败,继续检查"
|
||||
fi
|
||||
|
||||
# 2. 检查是否有.task文件
|
||||
@@ -56,12 +62,12 @@ while true; do
|
||||
for TASK_FILE in $TASK_FILES; do
|
||||
TASK_ID=$(basename "$TASK_FILE" .task)
|
||||
|
||||
echo "[$TIMESTAMP] $AGENT 发现新任务: $TASK_ID" >> "$LOG_FILE"
|
||||
echo "[$TIMESTAMP] $AGENT 发现新任务: $TASK_ID"
|
||||
# 发现任务 - 同时输出到聊天窗口
|
||||
log_info "[$TIMESTAMP] 🎯 $AGENT 发现新任务: $TASK_ID"
|
||||
|
||||
# 读取任务内容
|
||||
TASK_CONTENT=$(head -10 "$TASK_FILE" 2>/dev/null)
|
||||
echo "[$TIMESTAMP] 任务内容预览:" >> "$LOG_FILE"
|
||||
echo "[$TIMESTAMP] 📋 任务内容预览:" >> "$LOG_FILE"
|
||||
echo "$TASK_CONTENT" >> "$LOG_FILE"
|
||||
|
||||
# 读取完整任务内容
|
||||
@@ -82,24 +88,24 @@ while true; do
|
||||
|
||||
# 完成任务后删除.task文件
|
||||
rm "$TASK_FILE"
|
||||
# 把删除也加入Git
|
||||
git rm "$TASK_FILE" >> "$LOG_FILE" 2>&1
|
||||
|
||||
echo "[$TIMESTAMP] $AGENT 发现任务并自动创建完成标记: $DONE_FILE" >> "$LOG_FILE"
|
||||
echo "[$TIMESTAMP] $AGENT 完成任务: $TASK_ID" >> "$LOG_FILE"
|
||||
echo "[$TIMESTAMP] $AGENT 完成任务: $TASK_ID"
|
||||
log_info "[$TIMESTAMP] ✅ $AGENT 完成任务: $TASK_ID"
|
||||
log_info "[$TIMESTAMP] 📝 完成标记已创建: $DONE_FILE"
|
||||
|
||||
# 自动推送完成结果 - 添加.done和删除.task一起提交
|
||||
echo "[$TIMESTAMP] 📤 自动推送完成结果..." >> "$LOG_FILE"
|
||||
# 自动推送完成结果
|
||||
# 添加.done文件和已删除的.task文件
|
||||
git add "$DONE_FILE" "$TASK_FILE" >> "$LOG_FILE" 2>&1
|
||||
# 检查是否有改动需要提交
|
||||
UNCOMMITTED=$(git status --porcelain | grep -E "($DONE_FILE|$TASK_FILE)" || true)
|
||||
if [ -n "$UNCOMMITTED" ]; then
|
||||
log_info "[$TIMESTAMP] 📤 正在推送完成结果..."
|
||||
git commit -m "auto: $AGENT 完成任务 $TASK_ID" >> "$LOG_FILE" 2>&1
|
||||
git push origin main >> "$LOG_FILE" 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "[$TIMESTAMP] ✅ 推送成功" >> "$LOG_FILE"
|
||||
log_info "[$TIMESTAMP] ✅ 推送成功!任务 $TASK_ID 完全完成"
|
||||
else
|
||||
echo "[$TIMESTAMP] ⚠️ 推送失败,请检查Git配置" >> "$LOG_FILE"
|
||||
log_info "[$TIMESTAMP] ⚠️ 推送失败,请检查Git配置"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user