HimitZH / HOJ

⚡🔥Hcode Online Judge(HOJ)🔥⚡:基于SpringCloud与Vue前后端分离,分布式架构的在线测评平台OJ (An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !)
https://docs.hdoi.cn
MIT License
608 stars 133 forks source link

/hoj/testcase目录下的pronlem_xxxx的文件夹是什么时候或者什么机制下回在/judge/test_case目录下生成一份 problem_xxxx的文件夹 #51

Closed paynepang closed 8 months ago

paynepang commented 8 months ago

批量上传个题目,包含输入输出用例,用户会自动解压到/hoj/testcase目录下。在执行提交测评时会提示"System error"。如图: image 按照控制台日志提示,排查到test_case不存在。如图: image 在跟踪测试用例执行过程中,发现执行器会在.judge/test_case目录下查找测试用例。上传的测试用例在/hoj/testcase目录下。 请问是缺失哪个流程或者代码没有执行。 服务器没有使用docker部署,使用的是linux本地化部署。

HimitZH commented 8 months ago

backend服务处理上传数据文件到/hoj/testcase,如果是分布式部署,也就是backend服务与judgeserver服务不在同一机器上,是通过rsync服务定时同步到judgeserver服务的。

HimitZH commented 8 months ago

如果是单机部署,那么bakcend和judgeserver对应的docker最终挂载的题目数据文件目录是一致的,具体看docker-compose.yml文件的volumes配置

paynepang commented 8 months ago

backend服务处理上传数据文件到/hoj/testcase,如果是分布式部署,也就是backend服务与judgeserver服务不在同一机器上,是通过rsync服务定时同步到judgeserver服务的。

3q,以按照这个方案解决。