virusdefender
|
4c7c673f2f
|
修正docstring中的错误
|
2016-03-29 19:40:53 +08:00 |
|
virusdefender
|
951744a7cd
|
判题结果按照测试用例排序列表显示
|
2016-03-13 12:08:10 +08:00 |
|
virusdefender
|
cf2fc9df1a
|
指定使用nobody用户进行编译,防止#include</etc/shadow>等情况的发生
部分情况下,include敏感文件可能造成信息泄露。这里设置一下用户权限。
|
2016-03-05 11:42:17 +08:00 |
|
virusdefender
|
397f79a5b1
|
增加编译器错误显示限制,防止产生大量错误信息
|
2016-02-19 10:55:13 +08:00 |
|
virusdefender
|
f356d7b545
|
修复 Java 中文导致的编译错误
|
2016-02-04 21:52:21 +08:00 |
|
virusdefender
|
046867eb6c
|
编译错误的时候显示错误详情
|
2016-02-03 10:03:38 +08:00 |
|
virusdefender
|
6963b2879b
|
java 不再使用沙箱
|
2016-02-02 10:23:23 +08:00 |
|
virusdefender
|
8dcd36b3d9
|
更换判题为新的 judger
|
2016-02-02 10:14:18 +08:00 |
|
virusdefender
|
ee35981fcb
|
编译器使用绝对路径,否则报找不到文件的异常。
|
2016-02-01 22:45:13 +08:00 |
|
virusdefender
|
65c2033120
|
使用 judger 运行编译器
|
2016-02-01 22:17:33 +08:00 |
|
virusdefender
|
efee635173
|
增加判题服务器 token 验证
|
2015-12-07 17:35:03 +08:00 |
|
virusdefender
|
3311a4c899
|
rpc 通信和判题初步测试通过;判题服务器不再依赖 redis 和 mysql。
|
2015-11-29 21:29:26 +08:00 |
|
virusdefender
|
236102b6ac
|
判题结果中返回 server 信息,便于统计
|
2015-11-29 01:24:15 +08:00 |
|
virusdefender
|
3e3770f669
|
完善 rpc 通信 server;将判题限制在一个容器中
|
2015-11-29 01:05:29 +08:00 |
|
virusdefender
|
d8966ed48a
|
dev test
|
2015-11-28 20:32:49 +08:00 |
|
virusdefender
|
cf0a7f2bf2
|
Accept Merge Request #274 dev -> master : (dev -> master)
Merge Request: dev -> master
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/274
|
2015-10-10 21:00:01 +08:00 |
|
virusdefender
|
e68d3696e8
|
修复部分情况下的 system error
|
2015-10-10 18:43:35 +08:00 |
|
virusdefender
|
2b4400d68c
|
Merge branch 'virusdefender-dev'
* virusdefender-dev:
bootstrap 更新打包
require.js 加载的 js 也加版本号
修复导航栏在小屏幕上折叠后无法展开的问题
增加比赛结果缓存
优化比赛的前台显示样式;删除公告,没有提交的时候不显示表格的表头;修改部分 typo
增强判题和 docker 安全性
使用关联查询提供性能
修复 ajax 提交 json 中文乱码的问题
update security
修复不能显示真实姓名的 bug
|
2015-09-29 21:30:41 +08:00 |
|
virusdefender
|
4ab1107627
|
增强判题和 docker 安全性
|
2015-09-25 15:05:17 +08:00 |
|
virusdefender
|
08373ebb02
|
update security
|
2015-09-25 13:10:09 +08:00 |
|
virusdefender
|
2df5cbe56c
|
Merge branch 'dev'
* dev: (195 commits)
修改刷新时间
增加题目页面倒计时的 js
增加比赛倒计时的 api
增加判题帮助
修复判断验证码是否存在的时候,用户不存在导致的报错
记录用户输出 md5
增加反馈链接
add docker start tool
rename mq
不用的语言使用不同的系统调用过滤
update java runtime security policy
增加 clone 地址范围限制,否则 Java 无法运行
fix mq run path error
修复语言判断 bug
add kill proc
修改codeMirror中代码的样式
修复数据库已有用户problems_statu字段为空造成的问题
fix typo
add c/c++ sys call filter
--isolate-process true
...
Conflicts:
judge/judger/settings.py
judge/judger_controller/settings.py
template/src/oj/contest/contest_problem.html
template/src/oj/contest/submissions_list.html
|
2015-09-21 13:06:12 +08:00 |
|
virusdefender
|
18abd6a465
|
记录用户输出 md5
|
2015-09-19 15:07:31 +08:00 |
|
virusdefender
|
07f310b4b8
|
不用的语言使用不同的系统调用过滤
|
2015-09-18 13:13:03 +08:00 |
|
virusdefender
|
33ba871af0
|
update java runtime security policy
|
2015-09-18 12:52:00 +08:00 |
|
virusdefender
|
482a537ce0
|
增加 clone 地址范围限制,否则 Java 无法运行
|
2015-09-18 11:18:16 +08:00 |
|
virusdefender
|
a15059c114
|
add kill proc
|
2015-09-17 23:14:02 +08:00 |
|
virusdefender
|
9df3ffa782
|
fix typo
|
2015-09-17 20:21:55 +08:00 |
|
virusdefender
|
83539c13ea
|
add c/c++ sys call filter
|
2015-09-17 19:56:51 +08:00 |
|
virusdefender
|
722d79a1c8
|
--isolate-process true
|
2015-09-17 18:09:14 +08:00 |
|
virusdefender
|
0f28c0e2ce
|
使用 superivisord 启动进程
|
2015-09-17 15:21:08 +08:00 |
|
virusdefender
|
878d71f60e
|
修复 celery 启动 docker 的时候 cannot enable tty mode on non tty input 的问题
|
2015-09-17 11:18:38 +08:00 |
|
virusdefender
|
e4533c9b76
|
更新 redis 环境变量
|
2015-09-17 09:44:31 +08:00 |
|
virusdefender
|
12e2c54aad
|
在环境变量中取数据库地址
|
2015-09-17 09:29:59 +08:00 |
|
virusdefender
|
cc138542b4
|
删除无用代码
|
2015-09-15 20:58:40 +08:00 |
|
virusdefender
|
2fe2d7b9cc
|
judger 增加数据库连接
|
2015-09-15 16:35:39 +08:00 |
|
virusdefender
|
bf2c41713a
|
更新设置
|
2015-09-15 13:14:46 +08:00 |
|
virusdefender
|
c648e0008f
|
修改配置文件方便区分不同的开发环境
|
2015-09-14 18:20:36 +08:00 |
|
virusdefender
|
93c03b541b
|
创建 docker 镜像的时候使用阿里云的源
|
2015-09-14 13:15:53 +08:00 |
|
virusdefender
|
4c5fdc8bdf
|
删除 judger_controller 的日志配置
|
2015-09-12 21:48:26 +08:00 |
|
virusdefender
|
0c0d4225ca
|
判题中输出结果的比较去除最后的空行和空格
|
2015-09-12 20:01:34 +08:00 |
|
virusdefender
|
1dc0e8b742
|
增加判题中的日志记录,没有测试
|
2015-09-12 19:21:43 +08:00 |
|
virusdefender
|
354bb0302a
|
修复链接的时候的警告导致的编译错误
|
2015-09-12 17:57:44 +08:00 |
|
virusdefender
|
162913746f
|
Accept Merge Request #173 : (dev-sxw -> dev)
|
2015-09-05 21:24:00 +08:00 |
|
sxw@401
|
49643c661a
|
添加宽松判题的client
|
2015-09-05 21:09:02 +08:00 |
|
lsxwxs
|
fc7f4ae3b7
|
对盘题系统针对新测试服务器进行调整,该分支将不会并入主分支[CI SKIP]
|
2015-09-03 00:41:36 +08:00 |
|
lsxwxs
|
6267b4d295
|
Merge branch 'for-contest' of git.coding.net:virusdefender/qduoj into for-contest
update
|
2015-09-03 00:29:15 +08:00 |
|
esp
|
69cc85eb01
|
correct the path of test case in judger
|
2015-09-03 00:28:34 +08:00 |
|
lsxwxs
|
5000bbc38f
|
原来的dockerimage里没有MySQL-python,所以又改了下[CI SKIP]
|
2015-09-02 23:03:05 +08:00 |
|
lsxwxs
|
eb376c49fc
|
漏了一个import[CI SKIP]
|
2015-09-02 22:59:43 +08:00 |
|
esp
|
655b18421e
|
这是为了能以root身份运行celery[CI SKIP]
|
2015-09-02 22:26:58 +08:00 |
|
esp
|
e4a5e4155b
|
为了在qduoj.cf上运行做了改动,因为判题和web都在一台机器上,这个docker image是从digitalOcean上download下来的[CI SKIP]
|
2015-09-02 20:26:55 +08:00 |
|
virusdefender
|
b54b0717f6
|
update docker file
|
2015-08-31 20:02:54 +08:00 |
|
virusdefender
|
e1256bf652
|
fix typo
|
2015-08-31 19:57:28 +08:00 |
|
virusdefender
|
a1b38d4a21
|
update docker name
|
2015-08-31 18:45:14 +08:00 |
|
virusdefender
|
dfe18495e4
|
update docker name
|
2015-08-31 18:43:30 +08:00 |
|
virusdefender
|
c528ab11fa
|
调试修改部分参数
|
2015-08-31 18:37:38 +08:00 |
|
virusdefender
|
70c64507cc
|
修改测试文件
|
2015-08-26 14:25:14 +08:00 |
|
virusdefender
|
c12c227ee9
|
使用 redis 消息队列来传递题目的结果。从而更新题目 ac 和 ts 计数器
|
2015-08-22 12:56:22 +08:00 |
|
virusdefender
|
fdf6b39c78
|
add message to mq
|
2015-08-22 12:31:28 +08:00 |
|
virusdefender
|
4b49fa5050
|
修改计数方式
|
2015-08-21 13:32:02 +08:00 |
|
virusdefender
|
e4ff9e642a
|
将队列长度计数器改为 redis 计数器
|
2015-08-21 13:25:30 +08:00 |
|
virusdefender
|
d8dd9cd72c
|
完成服务器判题队列长度监控功能
|
2015-08-20 13:47:57 +08:00 |
|
virusdefender
|
096873c028
|
增加队列长度统计信息
|
2015-08-19 16:39:04 +08:00 |
|
virusdefender
|
309eef710c
|
修改数据库地址
|
2015-08-17 12:58:13 +08:00 |
|
virusdefender
|
537da5d795
|
修改判题数据库
|
2015-08-17 12:48:10 +08:00 |
|
virusdefender
|
a36268bcc8
|
修改配置项目
|
2015-08-16 08:47:03 +08:00 |
|
virusdefender
|
a6bd787b86
|
修改 celery 配置文件格式
|
2015-08-15 23:46:25 +08:00 |
|
virusdefender
|
397927ef21
|
去除启动 docker 的超时
|
2015-08-15 17:52:07 +08:00 |
|
virusdefender
|
272169c0c8
|
去除对 subprocess32的依赖
|
2015-08-15 17:49:51 +08:00 |
|
virusdefender
|
5ab004638d
|
修复配置文件错误
|
2015-08-15 17:02:46 +08:00 |
|
virusdefender
|
088787443e
|
修改判题端配置文件
|
2015-08-15 17:00:55 +08:00 |
|
virusdefender
|
cb7dd2f820
|
修改判题的目录结构
|
2015-08-15 14:50:22 +08:00 |
|
virusdefender
|
92ab7e5fb2
|
更改项目结构
|
2015-08-12 16:49:25 +08:00 |
|
virusdefender
|
2ba1fa5669
|
修改部分命名风格
|
2015-08-12 14:56:18 +08:00 |
|
virusdefender
|
88be032a38
|
修改判题设置;增加web 和 mongodb 数据库的操作
|
2015-08-12 14:01:34 +08:00 |
|
virusdefender
|
8979def927
|
编译时忽略警告
|
2015-08-12 10:56:03 +08:00 |
|
virusdefender
|
408776910d
|
尝试一下判题
|
2015-08-12 10:24:06 +08:00 |
|
virusdefender
|
2752647f58
|
增加判题的测试用例文件
|
2015-08-10 20:19:35 +08:00 |
|
virusdefender
|
d37bbb3eab
|
修改判题的目录结构;增加celery 配置
|
2015-08-10 16:59:43 +08:00 |
|
virusdefender
|
26dab5bd91
|
修改项目结构,还有些混乱。
|
2015-07-31 23:23:15 +08:00 |
|
virusdefender
|
3ee4b57802
|
增加了题目的 model 修改几个 typo
|
2015-07-17 11:00:15 +08:00 |
|
virusdefender
|
dd7fe6ee44
|
给编译器也增加超时保护
比如使用include</dev/random>就可能导致编译器卡死,增加了一个编译超时。
重命名了exception模块
整理了部分格式
|
2015-07-07 21:04:38 +08:00 |
|
virusdefender
|
d85ed0a2ec
|
修复部分情况下解析lrun输出结果失败的问题
因为lrun的输出也是重定向到stderr的,程序也可能向这里面输出,造成解析错误和潜在的伪造输出结果的问题。
|
2015-07-07 19:26:40 +08:00 |
|
virusdefender
|
c033b2c1e8
|
增加java编译参数
|
2015-07-07 18:07:54 +08:00 |
|
virusdefender
|
ef88a8a155
|
修改部分常量定义
增加编译功能
|
2015-07-07 13:33:38 +08:00 |
|
virusdefender
|
cc0f720de9
|
修改代码风格和部分typo
主要是将类的私有变量进行了重命名,改为_开头
|
2015-07-06 19:20:12 +08:00 |
|
virusdefender
|
5f8f2acf82
|
修复代码输出重定向错误的问题 增加了输出结果判断
lrun在运行的时候,输入输出重定向的context是当前的shell,所以不能重定向到进程的tmpfs中。考虑在docker中开辟tmpfs缓存空间。
输出结果比较是采用的md5,暂时没考虑格式错误的情况。
|
2015-07-06 18:59:30 +08:00 |
|
virusdefender
|
f1915a8b33
|
使用更好的办法修复Python2不能pickle实例方法的问题
详见 https://virusdefender.net/index.php/archives/318/
|
2015-07-03 20:10:38 +08:00 |
|
virusdefender
|
b9143c6408
|
修复子进程中引发的异常无法捕获的bug
多进程中子进程引发异常之后并不会直接显示,而是在get()方法被访问的时候再次引发异常。参考http://stackoverflow.com/questions/22094852/how-to-catch-exceptions-in-workers-in-multiprocessing
|
2015-07-03 16:56:40 +08:00 |
|
virusdefender
|
a26757916e
|
删除多线程库
|
2015-07-03 16:02:23 +08:00 |
|
virusdefender
|
ae931b4dba
|
将判题控制器由多线程修改为多进程
我一定是sb了,使用Python的多线程跑cpu密集型的应用。
由于Python的GIL的存在,导致在cpu上每次只能有一个线程在运行。如果一个线程运行,而且cpu时间是3秒的话,那实际运行时间将大约3秒。如果两个线程同时在进行,那总运行时间几乎要翻倍。
而换用多进程之后,单个进行运行实际时间只是稍微大于cpu时间,两个进程同时运行的时候,总的时间也是cpu时间稍微增加。
同时Python2在多进程之间运行类方法的时候存在bug,使用了 http://stackoverflow.com/questions/1816958/cant-pickle-type-instancemethod-when-using-pythons-multiprocessing-pool-ma/7309686#7309686 的方法进行patch。然后不同进程之间共享的时候,要防止循环依赖,参考 http://stackoverflow.com/questions/25382455/python-notimplementederror-pool-objects-cannot-be-passed-between-processes
|
2015-07-03 16:01:53 +08:00 |
|
virusdefender
|
b43dfe37c8
|
judge在ubuntu上暂时能跑起来了
|
2015-07-02 23:39:18 +08:00 |
|
virusdefender
|
8f67c37d0c
|
调用lrun判题和解析判题结果的框架代码完成
使用Python代码调用lrun,然后解析结果。还没有完成,剩下输出对比。
|
2015-07-02 17:23:42 +08:00 |
|
virusdefender
|
00052d8e9b
|
创建新工程 添加了一些通用代码和数据库模型
|
2015-06-26 15:59:53 +08:00 |
|