File size: 1,511 Bytes
d3b2160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
# 监控批处理任务状态

set -e

BATCH_ID_FILE="batch_id.txt"

# 获取 Batch ID
if [ -n "$1" ]; then
    BATCH_ID=$1
elif [ -f "$BATCH_ID_FILE" ]; then
    BATCH_ID=$(cat $BATCH_ID_FILE)
else
    echo "❌ 错误: 请提供 Batch ID"
    echo "用法: $0 <batch_id>"
    echo "或确保 batch_id.txt 文件存在"
    exit 1
fi

echo "🔍 监控 Batch 任务: $BATCH_ID"
echo "按 Ctrl+C 退出监控"
echo "========================================"

while true; do
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    echo ""
    echo "[$TIMESTAMP]"
    
    STATUS_OUTPUT=$(python3 generate_problems_batch.py status $BATCH_ID)
    echo "$STATUS_OUTPUT"
    
    # 检查是否完成
    if echo "$STATUS_OUTPUT" | grep -q "Status: completed"; then
        echo ""
        echo "✅ 批处理已完成!"
        echo ""
        echo "下载结果:"
        echo "  python3 generate_problems_batch.py download $BATCH_ID --output batch_results_raw.jsonl"
        echo ""
        echo "处理结果:"
        echo "  python3 generate_problems_batch.py process --input batch_results_raw.jsonl --output programming_problems_batch.jsonl"
        break
    elif echo "$STATUS_OUTPUT" | grep -q "Status: failed"; then
        echo ""
        echo "❌ 批处理失败!"
        break
    elif echo "$STATUS_OUTPUT" | grep -q "Status: expired"; then
        echo ""
        echo "❌ 批处理已过期!"
        break
    fi
    
    echo "⏳ 等待 5 分钟后再次检查..."
    sleep 300
done