Age | Commit message (Collapse) | Author |
|
- Changing the Question model to add a language attribute.
- Moving python_server.py -> code_server.py.
- Adding functionality to test for Shell scripts. This is still
incomplete since the shell code checker seems to have some problems.
- Modified the xmlrpc_clients to support multiple languages and right
now two.
- Using setgid/setuid instead of setegid/seteuid in the code_server.py..
- Adding a bash example to the sample_questions.py.
The shell script support doesn't quite work yet but this is really a
code_server/checking issue.
|
|
- the SERVER_PORTS is now a list of ports and when you run
python_server.py it will run as many servers as desired.
- python_server.py now will create multiple servers via
multiprocessing.
- the xmlrpc_clients.py is changed to deal with these multiple servers.
This allows us to handle many incoming requests.
These changes allow us to run the online test for many users. We had
over 400 simultaneous users and a total of about 650 users using the app
with these modifications.
|
|
Also updated documentation.
|
|
Setting default timeout to 2 seconds. Also made the run_as_nobody a
function so the rest of the server can be tested without the need to
sudo it.
|
|
If a user submitted code with an errant loop that loops forever or locks
up for any reason, it would take the code server down. I now add a
timeout of 3 seconds for the evaluation and tests failing which it is an
error.
|
|
"ENH: Improved traceback reporting from server. "
Strangely, the reporting by this is not as good as my hand-rolled code.
This reverts commit bc343c26cf3aac699c08129034b41317bac16f76.
|
|
|
|
The Python server was not setting the effective gid. There was also a
bug in that traceback was not imported. Added option so that the
python server chdirs to a user specific directory in order that a user
can save files which could be used as part of the test.
|
|
Adding a python_server which executes code as nobody safely so users
cannot do too much damage.
|