fix(一言): 接回真数据集,之前线上返回的是三条硬编码

/quotes/random 在阶段 3 基线里只铺了个桩(三条写死的句子),读盘逻辑没移植,
所以 oj2.xuyue.cc 上一直是假数据——和 DATA_DIR 无关,哪儿部署都一样。

数据本来就在服务器上、位置也已经对上:旧栈挂 ./data/backend:/data,Django 的
HITOKOTO_DIR 就是它下面的 hitokoto/;OJ2 的 api 挂的是同一个目录。所以
Dockerfile 里跟着 TEST_CASE_DIRECTORY 写死 /data/hitokoto 即可,不用搬文件。

按分类懒加载并常驻,但只留前端用得上的 hitokoto/from 两个字段:原样缓存
7160 条要 2.5MB,裁完 1.4MB,而 api 容器只有 512m。读不到数据集时回落到
内置三条,不影响启动(本机 dev 默认就走这条)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 10:20:00 -06:00
parent 36e4ac2f78
commit 604857b25e
4 changed files with 64 additions and 6 deletions

View File

@@ -91,6 +91,7 @@ COPY --from=builder /build/oj2-api /usr/local/bin/oj2-api
# 少一次几十 GB 的 mv就少一个在停机窗口里出错的机会。
WORKDIR /data
ENV TEST_CASE_DIRECTORY=/data/test_case \
HITOKOTO_DIRECTORY=/data/hitokoto \
UPLOAD_DIRECTORY=/data/public/upload \
AVATAR_DIRECTORY=/data/public/avatar \
PORT=3000