ed948666
tangwang
tidy
|
1
2
3
|
#!/bin/bash
#
# 排查「谁在调用索引服务」的脚本
|
3abbc95a
tangwang
重构(scripts): 整理sc...
|
4
|
# 用法: ./scripts/debug/trace_indexer_calls.sh
|
ed948666
tangwang
tidy
|
5
6
7
8
9
10
11
12
13
14
15
16
|
#
set -euo pipefail
cd "$(dirname "$0")/.."
source ./activate.sh 2>/dev/null || true
echo "=========================================="
echo "索引服务调用方排查"
echo "=========================================="
INDEXER_PORT="${INDEXER_PORT:-6004}"
|
af03fdef
tangwang
embedding模块代码整理
|
17
|
EMBEDDING_TEXT_PORT="${EMBEDDING_TEXT_PORT:-6005}"
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
18
|
EMBEDDING_IMAGE_PORT="${EMBEDDING_IMAGE_PORT:-6008}"
|
ed948666
tangwang
tidy
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
echo ""
echo "1. 监听端口 6004 的进程(Indexer 服务)"
echo "------------------------------------------"
if command -v lsof >/dev/null 2>&1; then
lsof -i :"${INDEXER_PORT}" 2>/dev/null || echo " (无进程监听或 lsof 无权限)"
else
ss -tlnp 2>/dev/null | grep ":${INDEXER_PORT}" || echo " (无进程监听)"
fi
echo ""
echo "2. 连接到 6004 的客户端(谁在请求 Indexer)"
echo "------------------------------------------"
if command -v ss >/dev/null 2>&1; then
ss -tnp 2>/dev/null | grep ":${INDEXER_PORT}" || echo " (当前无活跃连接)"
elif command -v netstat >/dev/null 2>&1; then
netstat -tnp 2>/dev/null | grep ":${INDEXER_PORT}" || echo " (当前无活跃连接)"
else
echo " 请安装 ss 或 netstat"
fi
echo ""
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
41
|
echo "3. 连接到 Embedding 服务的客户端"
|
ed948666
tangwang
tidy
|
42
43
|
echo "------------------------------------------"
if command -v ss >/dev/null 2>&1; then
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
44
|
ss -tnp 2>/dev/null | grep -E ":${EMBEDDING_TEXT_PORT}|:${EMBEDDING_IMAGE_PORT}" || echo " (当前无活跃连接)"
|
ed948666
tangwang
tidy
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
fi
echo ""
echo "4. 检查定时任务(cron)"
echo "------------------------------------------"
(crontab -l 2>/dev/null | grep -i indexer) || echo " 当前用户无相关 cron"
if [ -d /etc/cron.d ]; then
grep -l -i indexer /etc/cron.d/* 2>/dev/null || true
fi
echo ""
echo "5. 端口与逻辑说明"
echo "------------------------------------------"
echo " - Indexer 服务: 端口 ${INDEXER_PORT}"
echo " 启动: ./scripts/start_indexer.sh 或 python main.py serve-indexer"
echo " 接口: POST /indexer/reindex, POST /indexer/index, POST /indexer/build-docs 等"
echo ""
echo " - 调用方(文档说明): 外部 Java 程序或 curl 等 HTTP 客户端"
echo " 全量: curl -X POST http://localhost:${INDEXER_PORT}/indexer/reindex -d '{\"tenant_id\":\"170\",\"batch_size\":500}'"
echo " 增量: curl -X POST http://localhost:${INDEXER_PORT}/indexer/index -d '{\"tenant_id\":\"170\",\"spu_ids\":[\"123\"]}'"
echo ""
echo " - Indexer 内部会调用:"
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
67
68
|
echo " - Text Embedding 服务 (${EMBEDDING_TEXT_PORT}): POST /embed/text"
echo " - Image Embedding 服务 (${EMBEDDING_IMAGE_PORT}): POST /embed/image"
|
a3275468
tangwang
已把本仓库里的 `/indexer...
|
69
|
echo " - Translation 服务 / 翻译后端(按当前配置)"
|
ed948666
tangwang
tidy
|
70
71
72
73
74
|
echo " - MySQL: 商品数据"
echo " - Elasticsearch: 写入索引"
echo ""
echo "6. 实时监控连接(按 Ctrl+C 停止)"
echo "------------------------------------------"
|
5bac9649
tangwang
文本 embedding 与图片 ...
|
75
|
echo " 运行: watch -n 2 'ss -tnp | grep -E \":${INDEXER_PORT}|:${EMBEDDING_TEXT_PORT}|:${EMBEDDING_IMAGE_PORT}\"'"
|
ed948666
tangwang
tidy
|
76
|
echo ""
|