feat: 任务书 05,runner 与 tasks 两个模块
runner 用 Docker 跑一条命令并交回结局和资源用量;tasks 读 task.json、准备运行目录、给出正式运行/校验器/轻量检查的运行定义,并从原始产物独立判分。任务目录从参考项目搬到 tasks/circle_packing/,新增 task.json;vocab 的 VERDICTS 删掉"判不了",ProcessResult 的 cancelled 改为"容器从外面被杀了"。 全新上下文审阅后的两处修复:计量 shell 以容器内 root 运行,命令经 setpriv 降权,结果写在容器自己的文件层、结束后 docker cp 取出,并加 no-new-privileges,候选无法伪造计量结果把超时记成正常退出;harness 开跑前删掉旧的 solution.json、metrics.json,旧产物不会被当成本次的值。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# 基础镜像按 digest 钉死,不用 tag——tag 会被重新指向,digest 不会。
|
||||
# 这里写全仓库名(dockerproxy.net/library/python),因为本机没配 registry mirror,
|
||||
# 只写 python 会去 docker.io 拉。
|
||||
FROM dockerproxy.net/library/python:3.13-slim@sha256:8d9d0b8bcf6506481eae4907c18f5e3e7902e629f5f6d684f9e7c32e85e3ddf0
|
||||
# 每次运行只给一个核。numba 不设这个变量时 parallel=True 会按宿主核数开线程
|
||||
# (调研_填圆运行环境依赖.md 3.3 实测开 16 个);写在镜像里,由镜像编号钉住,
|
||||
# 不依赖每份配置记得写。数学库的线程数由 task.env 的 OMP_NUM_THREADS 管。
|
||||
ENV NUMBA_NUM_THREADS=1
|
||||
COPY requirements.txt /req.txt
|
||||
RUN pip install --no-cache-dir -r /req.txt
|
||||
Reference in New Issue
Block a user